2011-04-15 9 views
8

¿Sabe usted que hay una forma programática de crear un acceso directo web en la pantalla de inicio del usuario del teléfono?Android: ¿Existe alguna manera de programación para crear un acceso directo web en la pantalla de inicio

Lo que quiero hacer es:

Cuando el usuario hace clic en un botón de teléfono en nuestra aplicación Android, la aplicación a continuación, colocar un acceso directo sitio web en la pantalla principal del usuario del teléfono.

+0

Dudo que esta pregunta se relacione con los temas de HTC, Motorola y Motorola Droid. – naXa

Respuesta

28

En primer lugar, tendrá que añadir un permiso para su manifest.xml

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

Tendrá que construir una intención de ver la página web. Algo como ...

Intent i = new Intent(); 
i.setAction(Intent.ACTION_VIEW); 
i.setData(Uri.parse("http://www.blablaba.com")); 

Puede probar esto creando una pequeña aplicación de prueba y haciendo startActivity (i); Esto debería abrir el navegador. Una vez que haya verificado que la intención anterior es correcta, debe pasar al siguiente paso.

Ahora necesitará instalar el acceso directo.

Intent installer = new Intent(); 
    installer.putExtra("android.intent.extra.shortcut.INTENT", i); 
    installer.putExtra("android.intent.extra.shortcut.NAME", "THE NAME OF SHORTCUT TO BE SHOWN"); 
    installer.putExtra("android.intent.extra.shortcut.ICON_RESOURCE", I THINK this is a bitmap); //can also be ignored too 
    installer.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); 
    sendBroadcast(installer) 

;

También es posible que algunas pantallas de inicio no acepten esto, pero la mayoría sí. Así que Disfrutá.

EDIT: icono se puede configurar para el acceso directo usando:

installer.putExtra("android.intent.extra.shortcut.ICON_RESOURCE", Intent.ShortcutIconResource.fromContext(mContext, R.drawable.icon)); 
+0

hola Mike, realmente aprecio tu respuesta, déjame probar si esto funciona en mi aplicación, y me pondré en contacto contigo si tengo alguna pregunta –

+0

hola Mike, ¡tu solución es genial! ¡muchas gracias! Una pregunta más: de todos modos hay que verificar si ya se ha colocado un acceso directo a la URL de destino en la pantalla de inicio del usuario. La situación es la siguiente: tenemos algunos apk. cada uno de ellos colocará un acceso directo a nuestra tienda de apk en línea. entonces, antes de colocar un atajo, deseo verificar si ya existe uno. Muchas gracias –

+1

ty, no que yo sepa. Lo siento. –

-1

No puede colocar elementos de IU en la pantalla de inicio del teléfono mediante una .apk. Para el acceso directo web, puede crear un widget que abre el navegador (con la URL especificada) al hacer clic.

0

Como complemento a la respuesta correcta por @ Mike-DG y @Gagan, en lugar de utilizar

putExtra("android.intent.extra.shortcut.ICON_RESOURCE", Intent.ShortcutIconResource.fromContext(mContext, R.drawable.icon)) 

que requiere un acceso directo a la fuente de acceso directo, puede usar

putExtra("android.intent.extra.shortcut.ICON", Bitmap)) 

que le permite usar cualquier mapa de bits como icono. Esto hace que sea fácil usar un favicon del sitio web del atajo como icono.

Cuestiones relacionadas