Pregunta sobre launcher, android, launching-application, android-activity – Cómo iniciar / iniciar la aplicación en el momento de arranque de Android

36

Me gustaría iniciar mi aplicación cuando se inicie mi tableta, de modo que la actividad principal de mi aplicación sea lo primero que el usuario vea cuando inicie la tableta.
He leído sobre LauncherActivity pero no entiendo cómo usarlo.
¿Alguien puede ayudarme con sugerencias, enlaces o tutoriales para esto?
¿LauncherActivity es la mejor manera o existen alternativas?

Estoy buscando una funcionalidad similar, si tienes éxito, por favor comparte el código conmigo. Anirudh

Tu respuesta

4   la respuesta
12

debe escuchar la acción BOOT_COMPLETED y reaccionar ante ella. BOOT_COMPLETED es una acción de transmisión que se transmite una vez, una vez que el sistema ha terminado de iniciarse. Puedes escuchar esta acción creando unReceptor de radiodifusión que luego inicia su Actividad de lanzamiento cuando recibe un intento con la acción BOOT_COMPLETED.

Agregue este permiso a su manifiesto:

<code><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
</code>

Cree un BroadcastReceiver personalizado en su proyecto:

<code>public class MyBroadCastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
            Intent i = new Intent(context, MyActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
        }
    }
} 
</code>

Luego modifique su archivo de manifiesto agregando BroadCastReceiver al Manifiesto:

<code><receiver android:name=".MyBroadcastReceiver">
    <intent-filter>
       <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>
</code>
Intentado, no funciona, después de mostrar la pantalla de inicio normal, se llama a mi intención después de 2 segundos aprox. Anirudh
1

par de días. Intenté todas las respuestas pero esas no funcionaban para mí. Si está utilizando la versión 5.1 de Android, cambie esta configuración.

Si está utilizando la versión 5.1 de Android, debe deseleccionar (Restringir para iniciar) de la configuración de la aplicación.

configuración> aplicación> su aplicación> restringir para iniciar (deseleccionar)

por favor vea la imagen.

75

Paso 1: establece el permiso en AndroidManifest.xml

<code><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
</code>

Paso 2: Añadir este es el filtro de intención en el receptor,

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

Paso 3: Ahora puede iniciar la primera actividad de su aplicación desde el método onReceive de la clase Receiver.

<code>public class BootReciever extends BroadcastReceiver
{

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    Intent myIntent = new Intent(context, Tabs.class);
    myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(myIntent);
}

}
</code>
esto no funciona para mi Puse permiso y recibo en Manifiesto. Cree BootReciever como usted lo hizo, pero no funciona. Hice una prueba con <action android: name = "android.intent.action.AIRPLANE_MODE" /> y su trabajo, pero cuando reinicié mi dispositivo notando hapen. user3081007
cambie su título como "Cómo iniciar / iniciar la aplicación en el momento del arranque" ... :-) vishesh chandra
Tabs.class en el paso 3 debería ser mi actividad principal ??? Marco Gallella
Si mi post es útil y claro por favor me calificas !! Así que el lunes puedo probar esta solución y después de eso acepto una respuesta;) Marco Gallella
4

ivos no funciona porque la aplicación se instaló en un almacenamiento externo de forma predeterminada. Por favor, asegúrese de que usted especifica

android:installLocation="internalOnly"

de lo contrario, no recibirá ninguna acción de Inicio completo si la aplicación está instalada en la tarjeta SD. Agregue esto en la etiqueta de la aplicación en el archivo manifest.xml y funcionará.

Uso:

<code><application
        android:name=".Data.ApplicationData"
        android:allowBackup="true"
        android:hardwareAccelerated="true"
        android:icon="@mipmap/ic_launcher"
        android:installLocation="internalOnly"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen">
        <!--activities, services...-->
</application>
</code>

Preguntas relacionadas