Cómo agregar un acceso directo a la programación de Android en la pantalla de inicio
Permisos
Para agregar un acceso directo en el escritorio móvil, primero debe agregar permisos en el manifiesto.
lt;!--?¿Agregar acceso directo?--gt;
lt;uses-permission?android:name="com.android.launcher.permission.INSTALL_SHORTCUT" / gt;
lt;!--?¿Eliminar acceso directo?--gt;
lt;uses-permission?android:name="com.android.launcher.permission .UNINSTALL_SHORTCUT" ?/gt;
lt;!--?Atajo de consulta?--gt;
lt; uses-permission?android: name="com.android. launcher.permission. READ_SETTINGS"?/gt;
Agregar acceso directo
Agregar acceso directo es enviar una transmisión de acciones relacionadas a la aplicación de escritorio (lanzador). Las acciones relacionadas son las siguientes:
Cadena final estática pública ACTION_ADD_SHORTCUT = "com.android.launcher.action.INSTALL_SHORTCUT";
Agregar acceso directo: privado?void?addShortcut(String?name)?{
Intent?addShortcutIntent?=?new?Intent(ACTION_ADD_SHORTCUT);
//?No se permite la creación duplicada
addShortcutIntent.putExtra("duplicate",?false); ? Después de la prueba, no se determina en función del nombre del acceso directo.
//? Debe determinarse en función de la intención del enlace rápido, es decir, el valor del campo Intent.EXTRA_SHORTCUT_INTENT.
//?Pero cuando los nombres son diferentes, aunque algunos sistemas de telefonía móvil mostrarán un mensaje de Toast duplicado, el enlace rápido seguirá estando establecido
//?Se mostrará un mensaje aparece cuando no hay espacio en la pantalla
/ /?Nota: El comportamiento de la creación repetida en MIUI es diferente al de los teléfonos Samsung. Parece que los accesos directos no se pueden crear repetidamente en Xiaomi
.//?Nombre
addShortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME ,?nombre);
//?Icono
addShortcutIntent.putExtra(Intent. EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(MainActivity.this,
p>
R.drawable.ic_launcher));
//?Set el programa asociado
Intent?launcherIntent?=?new?Intent(Intent.ACTION_MAIN);
p>launcherIntent.setClass(MainActivity.this,?MainActivity.class); p>
launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);
>
addShortcutIntent
.putExtra(Intent.EXTRA_SHORTCUT_INTENT,?launcherIntent);
//?Enviar transmisión
sendBroadcast(addShortcutIntent);
}