Como crear acceso directo de mi aplicacion en la Home Screen (Escritorio)

Objetivo:

Crear un acceso directo (shortcut) de vuestra aplicación en la pantalla Home (llamado “Estritorio” a veces), así como se crean accesos directos de una aplicación de tu ordenador en el escritorio cuando la instalas.

Para ello podemos usar la función que hay más abajo, llamada crearAccesoDirectoEnEscritorio(String Nombre), donde el parámetro es el nombre que queremos que tenga el acceso directo.

El comportamiento de la función si no hay espacio, es buscar en otro de nuestros múltiples escritorios, avisando de que no había espacio en el que estaba activo la última vez antes de acceder a nuestra aplicación.

La forma ideal de usar esta función es llamarla a través de un botón. En el ejemplo hemos creado una aplicación simple que simplemente lo crea al principio.

No podemos olvidar los permisos especiales en nuestro Manifiesto, para poder crear accesos directos (INSTALL_SHORTCUT).

Código fuente función (Java):

[sourcecode language=”java”]
private void crearAccesoDirectoEnEscritorio(String nombre) {
Intent shortcutIntent = new Intent();
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, getIntentShortcut());
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, nombre);
shortcutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this.getApplicationContext(), R.drawable.icon));
shortcutIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
this.sendBroadcast(shortcutIntent);
}

public Intent getIntentShortcut(){
Intent i = new Intent();
i.setClassName(this.getPackageName(), this.getPackageName() + "." + this.getLocalClassName());
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
return i;
}
[/sourcecode]

Código fuente función (XML):

[sourcecode language=”xml”]
<!– En Android Manifest… –>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<!– … –>
[/sourcecode]

Descárgate el código aquí