Red de conocimiento informático - Material del sitio web - Cómo agregar un acceso directo a la programación de Android en la pantalla de inicio

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

launcherIntent.addCategory(Intent.CATEGORY_LAUNCHER);

>

addShortcutIntent

.putExtra(Intent.EXTRA_SHORTCUT_INTENT,?launcherIntent);

//?Enviar transmisión

sendBroadcast(addShortcutIntent);

}