sugerencia studio programacion pantalla pagina móviles mostrar inicio home directo desarrollo curso crear como celular añadir aplicaciones acceso android homescreen

studio - manual de programacion android pdf



Cómo agregar acceso directo a la pantalla de inicio en Android mediante programación (1)

Android nos proporciona una clase de intención com.android.launcher.action.INSTALL_SHORTCUT que se puede usar para agregar accesos directos a la pantalla de inicio. En el siguiente fragmento de código creamos un acceso directo a la actividad MainActivity con el nombre HelloWorldShortcut.

Primero necesitamos agregar el permiso INSTALL_SHORTCUT al INSTALL_SHORTCUT XML de manifiesto de Android.

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

El método addShortcut() crea un nuevo acceso directo en la pantalla de inicio.

private void addShortcut() { //Adding shortcut for MainActivity //on Home screen Intent shortcutIntent = new Intent(getApplicationContext(), MainActivity.class); shortcutIntent.setAction(Intent.ACTION_MAIN); Intent addIntent = new Intent(); addIntent .putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "HelloWorldShortcut"); addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(getApplicationContext(), R.drawable.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); }

Observe cómo creamos el objeto ShortcutIntent que contiene nuestra actividad objetivo. Este objeto de intento se agrega a otro intento como EXTRA_SHORTCUT_INTENT .

Finalmente transmitimos la nueva intención. Esto agrega un acceso directo con el nombre mencionado como EXTRA_SHORTCUT_NAME e icono definido por EXTRA_SHORTCUT_ICON_RESOURCE .

También ponga este código para evitar múltiples accesos directos:

if(!getSharedPreferences(Utils.APP_PREFERENCE, Activity.MODE_PRIVATE).getBoolean(Utils.IS_ICON_CREATED, false)){ addShortcut(); getSharedPreferences(Utils.APP_PREFERENCE, Activity.MODE_PRIVATE).edit().putBoolean(Utils.IS_ICON_CREATED, true); }

Esta pregunta ya tiene una respuesta aquí:

Este problema surgió cuando estaba desarrollando una aplicación para Android. Pensé en compartir el conocimiento que reuní durante mi desarrollo.