Androidランチャーのホーム画面にある特定のページにショートカットをプログラム的に書くにはどうすればよいですか?
-
27-10-2019 - |
質問
私は現在、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);
(実際には、このソリューションを私に指摘したのは、スタックフローの投稿でした)。
とにかく、エミュレータでアプリを実行すると、ショートカットは左から5番目のページに書き込まれます(2.3ホーム画面)。その後の実行は、ホーム画面の左から4番目のページのショートカットを書き込みます。
私の質問はこれです:センターページまたは最初のページにショートカットを書く方法はありますか(アプリのショートカットを保持していると思われる2D配列のインデックスを渡すなど)? APIに何かが足りませんか?
ありがとう!
解決
ショートカットがどこに行くのかを決めることはできません。
所属していません StackOverflow