¿Cómo escribo programáticamente un acceso directo a una página específica en la pantalla de inicio del lanzador de Android?

StackOverflow https://stackoverflow.com/questions/5345561

Pregunta

Actualmente estoy trabajando en una aplicación de Android con lo cual escribo programáticamente un acceso directo a la pantalla de inicio. Algo como esto:

Intent shortcutIntent = new Intent();
shortcutIntent.setClassName(ai.packageName, ai.name);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
shortcutIntent.addCategory(Intent.ACTION_PICK_ACTIVITY);
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, appName);

BitmapDrawable bd=(BitmapDrawable)(res.get(app_id).activityInfo.loadIcon(p).getCurrent());
Bitmap newbit;
newbit=bd.getBitmap();
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, newbit);

intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(intent);

(En realidad, fue una publicación de StackOverflow lo que me señaló a esta solución).

De todos modos, cuando ejecuto la aplicación en el emulador, el atajo se escribe en la quinta página desde la izquierda (en 2.3 pantalla de inicio). Una ejecución posterior escribe el atajo a la cuarta página desde la izquierda en la pantalla de inicio.

Mi pregunta es esta: ¿hay alguna manera de escribir el acceso directo a la página del centro o la primera página (como pasar los índices para la matriz 2-D que parece contener los atajos de la aplicación)? ¿Me estoy perdiendo algo en la API?

¡Gracias!

¿Fue útil?

Solución

No puedes decidir a dónde irá el atajo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top