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í
Hola, me gustaría saber si desde una misma web podemos crear un acceso directo al escritorio en android con algún javascript tipo añadir a favoritos de toda la vida.
me gusto mucho tu tutorial o publicacion
lo que te quiero preguntar si en icono de acceso directo se le puede colocar uno de una ruta externa