Autore Topic: Activity che parte all'accensione del telefono  (Letto 443 volte)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1464
  • keep it simple
  • Respect: +259
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Tattoo / Galaxy S
  • Market Developer Name:
    Bradipao
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #15 il: 08 Gennaio 2012, 16:41:33 CET »
0
Si, per qualche ragione il receiver fa in qualche modo riferimento all'activity, e può servire vederne il codice.

Se riesci, per il LogCat posta un copia-e-incolla testuale, è molto più rapido per te e si legge meglio.

Ultima cosa: nel manifest della mia app che fa uso del BOOT_COMPLETED, nel receiver non ho la riga category, ma solo l'action.
Partecipa anche tu all'iniziativa per salvare logCAT, felino in via di estinzione della razza Dalvik : CLICCA QUA

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 23
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #16 il: 05 Marzo 2012, 19:15:51 CET »
0
scusate il ritardo ma ho avuto un problema in famiglia e sono stato costretto ad allontanarmi dal forum per un po....

dunque, ho riprovato togliendo "category" dal manifest come suggerito da bradipao... non mi da errori, ma il Toast nel receiver non parte alla riaccensione dell'emulatore.

La prima volta installo l'app e va tutto bene. La seconda volta lancio l'emulatore ma il toast non vuole uscire proprio...

Cosa non va secondo voi ?

Vi allego codice e toast se volete provare... .grazie mille ragazzi.

Codice (Java): [Seleziona]
package ldc.android.apps.onomastici;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class OnomasticBroadcastReceiver extends BroadcastReceiver
{
        @Override
        public void onReceive(Context context, Intent intent)
        {
                /*
                Intent myIntent = new Intent(context, OnomasticiActivity.class);
        context.startActivity(myIntent);
        */

                Toast.makeText(context, "Receiver OK !", Toast.LENGTH_SHORT).show();
        }
}

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="ldc.android.apps.onomastici"
     android:versionCode="1"
     android:versionName="1.0">
    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
   
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".OnomasticiActivity" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
               
            </intent-filter>
        </activity>

                <receiver android:name="OnomasticBroadcastReceiver">
                        <intent-filter>
                                <action android:name="android.intent.action.BOOT_COMPLETED" />
                        </intent-filter>
                </receiver>

    </application>
   
</manifest>

LogCAT

03-05 18:14:05.497: W/WindowManager(77): Failure taking screenshot for (90x150) to layer 21005
03-05 18:14:05.606: W/NetworkManagementSocketTagger(77): setKernelCountSet(10009, 0) failed with errno -2
03-05 18:14:06.026: D/dalvikvm(77): GC_FOR_ALLOC freed 363K, 8% free 8139K/8839K, paused 141ms
03-05 18:14:06.097: V/TransportControlView(77): Create TCV com.android.internal.widget.TransportControlView@41128578
03-05 18:14:06.207: D/PhoneStatusBar(141): disable: < expand icons alerts ticker system_info back home RECENT* clock >
03-05 18:14:06.226: W/SoundPool(77):   sample 0 not READY
03-05 18:14:06.306: D/PhoneStatusBar(141): disable: < expand icons alerts ticker system_info BACK* HOME* RECENT CLOCK* >
03-05 18:14:10.258: I/WindowManager(77): Lock screen displayed!
03-05 18:14:10.316: W/NetworkManagementSocketTagger(77): setKernelCountSet(10009, 1) failed with errno -2
03-05 18:14:43.217: W/SoundPool(77):   sample 0 not READY
03-05 18:14:43.217: D/PhoneStatusBar(141): disable: < expand icons alerts ticker system_info BACK HOME recent* CLOCK >
03-05 18:14:43.376: D/PhoneStatusBar(141): disable: < expand icons alerts ticker system_info back* home* recent clock* >
03-05 18:14:43.456: W/InputManagerService(77): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41140548

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1464
  • keep it simple
  • Respect: +259
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Tattoo / Galaxy S
  • Market Developer Name:
    Bradipao
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #17 il: 05 Marzo 2012, 19:26:29 CET »
0
dunque, ho riprovato togliendo "category" dal manifest come suggerito da bradipao... non mi da errori, ma il Toast nel receiver non parte alla riaccensione dell'emulatore.
La prima volta installo l'app e va tutto bene. La seconda volta lancio l'emulatore ma il toast non vuole uscire proprio...

Cosa non va secondo voi ?

E' strano, a me sembra che sia tutto a posto.

Unica cosa che mi viene in mente è che il Toast dura molto poco e l'evento BOOT_COMPLETED sull'emulatore avviene quando l'emulatore stesso non è ancora usabile, anzi c'è il lock screen. Ci vorrebbe un evento più "persistente", tipo una notifica che rimane nella barra. O ancora meglio, affianca al toast un Log.d("TAG","evento BOOT COMPLETED"); che poi vai a verificare nel LogCat dell'emulatore.


Partecipa anche tu all'iniziativa per salvare logCAT, felino in via di estinzione della razza Dalvik : CLICCA QUA

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 23
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #18 il: 05 Marzo 2012, 20:31:50 CET »
0
E' strano, a me sembra che sia tutto a posto.

Unica cosa che mi viene in mente è che il Toast dura molto poco e l'evento BOOT_COMPLETED sull'emulatore avviene quando l'emulatore stesso non è ancora usabile, anzi c'è il lock screen. Ci vorrebbe un evento più "persistente", tipo una notifica che rimane nella barra. O ancora meglio, affianca al toast un Log.d("TAG","evento BOOT COMPLETED"); che poi vai a verificare nel LogCat dell'emulatore.

Niente !!! :-(

Codice (Java): [Seleziona]
public class OnomasticBroadcastReceiver extends BroadcastReceiver
{
        @Override
        public void onReceive(Context context, Intent intent)
        {
                /*
                Intent myIntent = new Intent(context, OnomasticiActivity.class);
        context.startActivity(myIntent);
        */

                Log.d("TAG","evento BOOT COMPLETED");
               
                Toast.makeText(context, "Receiver OK !", Toast.LENGTH_SHORT).show();
               
        }
       
}

Riposto il Logcat

03-05 19:29:03.556: D/AndroidRuntime(698): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
03-05 19:29:03.566: D/AndroidRuntime(698): CheckJNI is ON
03-05 19:29:04.625: D/AndroidRuntime(698): Calling main entry com.android.commands.pm.Pm
03-05 19:29:04.695: W/ActivityManager(93): No content provider found for permission revoke: file:///data/local/tmp/Onomastici.apk
03-05 19:29:04.716: W/ActivityManager(93): No content provider found for permission revoke: file:///data/local/tmp/Onomastici.apk
03-05 19:29:05.035: D/dalvikvm(93): GC_CONCURRENT freed 740K, 11% free 8013K/8903K, paused 7ms+19ms
03-05 19:29:05.285: I/PackageManager(93): Removing non-system package:ldc.android.apps.onomastici
03-05 19:29:05.285: I/ActivityManager(93): Force stopping package ldc.android.apps.onomastici uid=10043
03-05 19:29:05.396: I/PackageManager(93): Package ldc.android.apps.onomastici codePath changed from /data/app/ldc.android.apps.onomastici-1.apk to /data/app/ldc.android.apps.onomastici-2.apk; Retaining data and using new
03-05 19:29:05.405: I/PackageManager(93): Running dexopt on: ldc.android.apps.onomastici
03-05 19:29:05.636: D/dalvikvm(709): DexOpt: load 48ms, verify+opt 87ms
03-05 19:29:05.655: W/PackageManager(93): Code path for pkg : ldc.android.apps.onomastici changing from /data/app/ldc.android.apps.onomastici-1.apk to /data/app/ldc.android.apps.onomastici-2.apk
03-05 19:29:05.655: W/PackageManager(93): Resource path for pkg : ldc.android.apps.onomastici changing from /data/app/ldc.android.apps.onomastici-1.apk to /data/app/ldc.android.apps.onomastici-2.apk
03-05 19:29:05.766: D/dalvikvm(93): GC_FOR_ALLOC freed 466K, 12% free 7907K/8903K, paused 112ms
03-05 19:29:05.785: I/ActivityManager(93): Force stopping package ldc.android.apps.onomastici uid=10043
03-05 19:29:05.875: D/PackageManager(93): New package installed in /data/app/ldc.android.apps.onomastici-2.apk
03-05 19:29:05.985: I/ActivityManager(93): Force stopping package ldc.android.apps.onomastici uid=10043
03-05 19:29:06.306: D/PackageManager(93): generateServicesMap(android.accounts.AccountAuthenticator): 2 services unchanged
03-05 19:29:06.346: D/PackageManager(93): generateServicesMap(android.content.SyncAdapter): 4 services unchanged
03-05 19:29:06.356: D/BackupManagerService(93): Received broadcast Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:ldc.android.apps.onomastici flg=0x10000010 (has extras) }
03-05 19:29:06.396: I/AccountTypeManager(328): Loaded meta-data for 1 account types, 0 accounts in 27ms(wall) 10ms(cpu)
03-05 19:29:06.436: D/dalvikvm(217): GC_EXPLICIT freed 279K, 8% free 6537K/7047K, paused 5ms+13ms
03-05 19:29:06.495: D/PackageManager(93): generateServicesMap(android.accounts.AccountAuthenticator): 2 services unchanged
03-05 19:29:06.495: D/PackageManager(93): generateServicesMap(android.content.SyncAdapter): 4 services unchanged
03-05 19:29:06.735: D/BackupManagerService(93): Received broadcast Intent { act=android.intent.action.PACKAGE_ADDED dat=package:ldc.android.apps.onomastici flg=0x10000010 (has extras) }
03-05 19:29:06.735: V/BackupManagerService(93): updatePackageParticipantsLocked: ldc.android.apps.onomastici
03-05 19:29:07.205: W/RecognitionManagerService(93): no available voice recognition services found
03-05 19:29:07.405: D/dalvikvm(93): GC_CONCURRENT freed 487K, 11% free 8000K/8903K, paused 8ms+33ms
03-05 19:29:08.295: D/BackupManagerService(93): Received broadcast Intent { act=android.intent.action.PACKAGE_REPLACED dat=package:ldc.android.apps.onomastici flg=0x10000010 (has extras) }
03-05 19:29:08.295: V/BackupManagerService(93): updatePackageParticipantsLocked: ldc.android.apps.onomastici
03-05 19:29:08.495: D/dalvikvm(188): GC_CONCURRENT freed 3250K, 37% free 7778K/12167K, paused 5ms+43ms
03-05 19:29:08.705: I/AccountTypeManager(328): Loaded meta-data for 1 account types, 0 accounts in 2091ms(wall) 11ms(cpu)
03-05 19:29:09.245: D/dalvikvm(188): GC_CONCURRENT freed 93K, 32% free 8309K/12167K, paused 6ms+12ms
03-05 19:29:09.806: D/dalvikvm(188): GC_FOR_ALLOC freed 600K, 31% free 8421K/12167K, paused 117ms
03-05 19:29:10.186: D/dalvikvm(188): GC_CONCURRENT freed 674K, 29% free 8706K/12167K, paused 5ms+12ms
03-05 19:29:10.325: D/dalvikvm(188): GC_FOR_ALLOC freed 182K, 26% free 9027K/12167K, paused 111ms
03-05 19:29:10.346: I/dalvikvm-heap(188): Grow heap (frag case) to 10.134MB for 1286224-byte allocation
03-05 19:29:10.466: D/dalvikvm(188): GC_FOR_ALLOC freed <1K, 16% free 10283K/12167K, paused 74ms
03-05 19:29:11.405: D/dalvikvm(93): GC_EXPLICIT freed 442K, 12% free 7884K/8903K, paused 7ms+51ms
03-05 19:29:11.428: D/AndroidRuntime(698): Shutting down VM
03-05 19:29:11.455: D/dalvikvm(698): GC_CONCURRENT freed 101K, 78% free 456K/2048K, paused 1ms+2ms
03-05 19:29:11.455: D/jdwp(698): Got wake-up signal, bailing out of select
03-05 19:29:11.455: D/dalvikvm(698): Debugger has detached; object registry had 1 entries
03-05 19:29:11.466: I/AndroidRuntime(698): NOTE: attach of thread 'Binder Thread #3' failed
03-05 19:29:25.755: W/WindowManager(93): Failure taking screenshot for (90x150) to layer 21010
03-05 19:29:25.906: W/NetworkManagementSocketTagger(93): setKernelCountSet(10009, 0) failed with errno -2
03-05 19:29:26.066: D/dalvikvm(93): GC_FOR_ALLOC freed 119K, 12% free 7905K/8903K, paused 111ms
03-05 19:29:26.285: D/dalvikvm(93): GC_FOR_ALLOC freed 56K, 11% free 7932K/8903K, paused 103ms
03-05 19:29:26.555: D/dalvikvm(93): GC_FOR_ALLOC freed 49K, 11% free 7955K/8903K, paused 176ms
03-05 19:29:26.665: D/dalvikvm(93): GC_FOR_ALLOC freed 46K, 11% free 7983K/8903K, paused 98ms
03-05 19:29:26.785: D/dalvikvm(93): GC_FOR_ALLOC freed 47K, 11% free 8008K/8903K, paused 97ms
03-05 19:29:26.816: V/TransportControlView(93): Create TCV com.android.internal.widget.TransportControlView@4124d428
03-05 19:29:27.026: D/PhoneStatusBar(147): disable: < expand icons alerts ticker system_info back home RECENT* clock >
03-05 19:29:27.076: W/SoundPool(93):   sample 0 not READY
03-05 19:29:27.285: D/PhoneStatusBar(147): disable: < expand icons alerts ticker system_info BACK* HOME* RECENT CLOCK* >
03-05 19:29:32.375: I/WindowManager(93): Lock screen displayed!
03-05 19:29:32.396: W/NetworkManagementSocketTagger(93): setKernelCountSet(10009, 1) failed with errno -2
03-05 19:29:33.116: D/dalvikvm(147): GC_CONCURRENT freed 365K, 31% free 6164K/8839K, paused 5ms+53ms
03-05 19:29:41.696: D/PhoneUtils(176): hangup(): no active call to hang up
03-05 19:29:42.895: W/WindowManager(93): Failure taking screenshot for (90x150) to layer 21005
03-05 19:29:43.046: W/NetworkManagementSocketTagger(93): setKernelCountSet(10009, 0) failed with errno -2
03-05 19:29:43.196: V/TransportControlView(93): Create TCV com.android.internal.widget.TransportControlView@4121b7c0
03-05 19:29:45.296: D/PhoneUtils(176): hangup(): no active call to hang up
03-05 19:29:45.385: W/NetworkManagementSocketTagger(93): setKernelCountSet(10009, 1) failed with errno -2
03-05 19:29:45.456: I/WindowManager(93): Lock screen displayed!


Sembra che il Receiver non parta....

Offline frusso

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: +1
    • fabrizio_russo
    • Mostra profilo
    • Fabrizio Russo
  • Dispositivo Android:
    Galaxy Nexus
  • Market Developer Name:
    frusso
  • Sistema operativo:
    Linux Ubuntu
Re:Activity che parte all'accensione del telefono
« Risposta #19 il: 05 Marzo 2012, 21:43:00 CET »
0
prova  a registrare il receiver il quale avvia un service

A questo punto il service lancia un thread che aspetta un po' di tempo (10/20 secondi giusto il tempo di assicurarsi che il boot sia finito) e poi lancia il toast (anche se sarebbe meglio una notifica)

sembra complicato e prolisso ma non e' così

Fabrizio Russo | Galaxy Nexus - Asus Transformer Prime
http://www.fabrizio-russo.it

Offline ldc

  • Nuovo arrivato
  • *
  • Post: 23
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Windows XP
Re:Activity che parte all'accensione del telefono
« Risposta #20 il: 05 Marzo 2012, 22:05:59 CET »
0
scusami frusso, ma non ho capito... cosa dovrei fare per vedere il mio toast o altra notifica ?

il receiver viene registrato, ma credo che non parta al riavvio dell'emulatore... quindi non lancia il toast...

è questo il problema. Dal Logcat non si vede neanche partire il TAG...

????? che faccio ?

Offline frusso

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: +1
    • fabrizio_russo
    • Mostra profilo
    • Fabrizio Russo
  • Dispositivo Android:
    Galaxy Nexus
  • Market Developer Name:
    frusso
  • Sistema operativo:
    Linux Ubuntu
R: Activity che parte all'accensione del telefono
« Risposta #21 il: 05 Marzo 2012, 22:17:01 CET »
0
Domani guardo un programma che ho fatto in passato e ti saprò dire meglio.
Ciao

Inviato dal mio Galaxy Nexus usando Tapatalk
Fabrizio Russo | Galaxy Nexus - Asus Transformer Prime
http://www.fabrizio-russo.it

Offline frusso

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: +1
    • fabrizio_russo
    • Mostra profilo
    • Fabrizio Russo
  • Dispositivo Android:
    Galaxy Nexus
  • Market Developer Name:
    frusso
  • Sistema operativo:
    Linux Ubuntu
Re:Activity che parte all'accensione del telefono
« Risposta #22 il: 06 Marzo 2012, 05:08:24 CET »
0
Forse il tuo problema è che il nome del receiver non inizia con il punto.
Dovrebbe essere

Codice (XML): [Seleziona]
 <receiver android:name=".OnomasticBroadcastReceiver">
invece di


Codice (XML): [Seleziona]
 <receiver android:name="OnomasticBroadcastReceiver">
Fabrizio Russo | Galaxy Nexus - Asus Transformer Prime
http://www.fabrizio-russo.it