Ho un'applicazione che si propone di eseguire solo come servizio (nessuna interfaccia, basta eseguire in background). Non ho alcuna attività menzionata nel mio AndroidManifest.xml ma metto un ricevitore per avviare l'applicazione all'avvio del telefono.Avvia un'applicazione Android senza attività
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<service
android:enabled="true"
android:name=".MyAppService">
<intent-filter>
<action
android:name = "me.myapp.MyAppService">
</action>
</intent-filter>
</service>
<receiver
android:enabled="true"
android:name=".BootReceiver">
<intent-filter>
<action android:name = "android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
</application>
Il problema è che, come sto sviluppando (utilizzando Eclipse) la domanda, ho bisogno di testare i miei cambiamenti spesso. Quando eseguo l'applicazione (con il mio telefono collegato in modalità debug), ho un messaggio del tipo
[2011-12-14 00:18:40 - MyApp] Android Launch!
[2011-12-14 00:18:40 - MyApp] adb is running normally.
[2011-12-14 00:18:40 - MyApp] No Launcher activity found!
[2011-12-14 00:18:40 - MyApp] The launch will only sync the application package on the device!
[2011-12-14 00:18:40 - MyApp] Performing sync
Come posso avviare l'applicazione in fase di esecuzione, senza dover riavviare ogni volta?
Modifica questo non è più possibile per Android 3.1 o superiore. Source
Grazie, bel modo di andare. Forse posso anche creare il mio evento che solo la mia applicazione può catturare per evitare conflitti con altre app di terze parti. –
@MartinTrigaux Abbiamo appena controllato i documenti e ricordato che è possibile specificare un componente per ottenerlo. Vedi la mia modifica. –