Wie schreibe ich programmgesteuert eine Abkürzung zu einer bestimmten Seite auf dem Homescreen des Android -Launchers?

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

Frage

Ich arbeite derzeit an einer Android -Anwendung, an der ich programmgesteuert eine Abkürzung auf den Startbildschirm schreibe. Etwas wie das:

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

(Es war eigentlich ein Stackoverflow -Post, der mich auf diese Lösung hinwies).

Wie auch immer, wenn ich die App im Emulator ausführe, wird die Verknüpfung von links auf die fünfte Seite geschrieben (auf 2.3 Startbildschirm). Ein nachfolgender Lauf schreibt die Verknüpfung von links auf dem Startbildschirm auf die 4. Seite.

Meine Frage ist: Gibt es eine Möglichkeit, die Verknüpfung auf die Mittelseite oder die erste Seite zu schreiben (wie das Bestehen von Indizes für das 2-D-Array, das die App-Verknüpfungen zu halten scheint)? Vermisse ich etwas in der API?

Vielen Dank!

War es hilfreich?

Lösung

Sie können nicht entscheiden, wohin die Abkürzung gehen wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top