una que poner pantalla inicio icono hacer directo cómo crear como celular añadir app aplicación aplicaciones aplicacion aparezca acceso android android-manifest launcher homescreen

android - que - ¿Cómo puedo agregar el acceso directo de mi aplicación a la pantalla de inicio en la instalación de la aplicación?



como poner una aplicacion en la pantalla principal (6)

Quiero crear el icono de acceso directo / iniciador de mi aplicación en la pantalla de inicio tan pronto como instale mi aplicación (incluso antes de iniciarla). ¿Es eso posible? ¿Cómo podría hacer eso?


  1. Crear una función para llamar a la intención del atajo:

    private void criarAtalho() { Intent shortcutIntent = new Intent(getApplicationContext(), SplashScreen.class); shortcutIntent.setAction(Intent.ACTION_MAIN); Intent addIntent = new Intent(); addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "nomeDaApp"); addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.mipmap.ic_launcher)); addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); addIntent.putExtra("duplicate", false); //may it''s already there so don''t duplicate getApplicationContext().sendBroadcast(addIntent); }

  2. escriba en OnCreat la llamada de la función:

    if(!getSharedPreferences("APP_PREFERENCE", Activity.MODE_PRIVATE).getBoolean("IS_ICON_CREATED", false)){ criarAtalho(); getSharedPreferences("APP_PREFERENCE", Activity.MODE_PRIVATE).edit().putBoolean("IS_ICON_CREATED", true).commit(); }

  3. establecer los permisos en el manifiesto:

    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />


Desde ICS, puedes hacer esto:

public void createShortCut(){ Intent shortcutintent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); shortcutintent.putExtra("duplicate", false); shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.shortcutname)); Parcelable icon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.icon); shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, icon); shortcutintent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext(), EnterActivity.class)); sendBroadcast(shortcutintent); }

Por favor, también consulte el código fuente del lanzador en: este enlace

Edición: si alguien no pudiera leer el comentario, agregue la siguiente línea.

Esto requiere el permiso "com.android.launcher.permission.INSTALL_SHORTCUT"


NOTA: Esta respuesta ahora es incorrecta. Vea, por ejemplo, la respuesta de Robin para una manera de hacer esto.

Por lo que sé, una aplicación no puede forzarse en la pantalla de inicio. Se agrega a la lista de aplicaciones que mantiene la aplicación de inicio, pero la pantalla de inicio generalmente está bajo el control del usuario. Dar a las aplicaciones la capacidad de saturar la pantalla de inicio sería una invitación abierta para el abuso.



Primero, agregue permiso para agregar acceso directo a manifiesto:

<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

Luego, llama a la función de abajo.

public void createShortcut(){ Intent intentShortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT"); intentShortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name)); Parcelable appicon = Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.ic_launcher); intentShortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, appicon); intentShortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, new Intent(getApplicationContext(), MainActivity.class)); intentShortcut.putExtra("duplicate", false); sendBroadcast(intentShortcut); }


Si instala su aplicación, ¡ni su aplicación, ni ningún servicio u otro proceso están activos! Android quiere que el usuario realice el primer paso para "abrir" la aplicación. ¡No puedes instalar un acceso directo directamente ! Esa es la respuesta. Aviso: En la mayoría de los dispositivos, el iniciador creará un acceso directo para su aplicación.

¿Puede instalar accesos directos en tiempo de ejecución después de que el usuario haya iniciado su aplicación al menos una vez? : si (ver respuesta de robins).

¿Hay una solución? Tal vez, pero no una buena.

Actualizar , otra sugerencia: si ya tiene una aplicación en el dispositivo del usuario. (Por ejemplo, si su segunda aplicación que se instala es la clave para "volverse profesional" o algo así), entonces realmente puede iniciar la segunda aplicación desde la primera, sin que el usuario haya iniciado la segunda aplicación (y agregue un acceso directo) .