我目前正在使用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帖子向我指出了该解决方案)。

无论如何,当我在模拟器中运行该应用程序时,快捷方式被写到左侧第五页(在2.3主屏幕上)。随后的运行将快捷方式写到主屏幕左侧的第4页。

我的问题是:是否可以将快捷方式写入中心页面或首页(例如传递似乎保存应用程序快捷方式的二维数组的索引)?我在API中缺少什么吗?

谢谢!

最佳答案

您无法确定快捷方式的位置。

07-26 08:35
查看更多