una studio publicidad programa permisos pasos para online multiples ibuildapp gratis desde crear contar como cero calorias app aplicaciones android android-manifest startup

studio - Iniciar la aplicación de Android sin actividad



permisos android studio (3)

Tengo una aplicación que apunta a ejecutarse solo como un servicio (sin interfaz, solo ejecutar en segundo plano). No tengo ninguna actividad mencionada en mi AndroidManifest.xml, pero puse un receptor para iniciar la aplicación al inicio del teléfono.

<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>

El problema es que a medida que estoy desarrollando (usando Eclipse) la aplicación, necesito probar mis cambios a menudo. Cuando ejecuto la aplicación (con mi teléfono conectado en modo de depuración), tengo un mensaje como

[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

¿Cómo puedo iniciar la aplicación en ejecución, sin tener que reiniciarla cada vez?

Editar esto ya no es posible para Android 3.1 o superior. Source


Además de las dos opciones mencionadas por EboMike: siempre puede enviar la transmisión BOOT_COMPLETED través de la línea de comandos en lugar de reiniciar su teléfono.

Utilizar

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED

Esto dará lugar a una situación como después de un reinicio real, y también activará cualquier receptor de arranque de aplicaciones de terceros. Después de escribirlo una vez en un terminal, por lo general, puede repetirlo simplemente presionando la tecla de flecha hacia arriba seguida de retorno en la mayoría de los sistemas operativos. O puede incluirlo en un script que se active después de reinstalar su aplicación.

Si desea limitar la transmisión solo a su aplicación, también puede especificar un componente:

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n your.app.packagename/.YourReceiverClassName

Esto envía la transmisión de reinicio solo a su receptor. Todas las demás aplicaciones no son llamadas.


Iniciando el servicio utilizando Broadcast Receiver a través de cualquier Intento como

android.intent.action.BOOT_COMPLETED

no es posible por encima de Android 3.1 hasta que el usuario use su aplicación y, por lo tanto, para usarla, debe haber una sola actividad que no sea de la interfaz de usuario (que puede llamar finalización en oncreate ()).

Source


Opción 1: agregue una actividad ficticia que iniciará su servicio. Retíralo antes del envío.

Opción 2: Cree una segunda aplicación de prueba que inicie su servicio.