Androidランチャーのホーム画面にある特定のページにショートカットをプログラム的に書くにはどうすればよいですか?

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

質問

私は現在、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に何かが足りませんか?

ありがとう!

役に立ちましたか?

解決

ショートカットがどこに行くのかを決めることはできません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top