私は現在、ホーム画面へのショートカットをプログラムで書き込むAndroidアプリケーションに取り組んでいます。このようなもの:
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);
(実際には、このソリューションを指摘したのは StackOverflow の投稿でした)。
とにかく、エミュレーターでアプリを実行すると、左から 5 ページ目 (2.3 のホーム画面) にショートカットが書き込まれます。以降の実行では、ホーム画面の左から 4 ページ目にショートカットが書き込まれます。
私の質問は次のとおりです。中央のページまたは最初のページにショートカットを書き込む方法はありますか (アプリのショートカットを保持しているように見える 2 次元配列のインデックスを渡すなど)? API で何か不足していますか?
ありがとう!