Android主屏幕/启动器选择器不会显示“此操作默认使用”选项

时间:2012-05-22 20:35:57

标签: android homescreen

我正尝试使用以下意图以编程方式启动Home-screen / Launcher选择器对话框:

Intent i = new Intent(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

startActivity(Intent.createChooser(i, "Set My HomeScreen as default"));

但遗憾的是,与安装的主屏幕启动器列表一起显示的对话框在对话框底部没有 默认使用此操作 选项。下图显示了它的外观:

HomeScreen

有趣的是,在从上面的选择器对话框中选择我的主屏幕后,如果我从该屏幕按下主页按钮,则Android会自动显示类似的对话框,实际上该选项 默认使用此选项 位于对话框的底部。以下是它的外观:

HomeScreen chooser

我对上述代码的错误一无所知,这一定是一些我无法发现自己​​的愚蠢错误。

如果任何人能够发光,那将会有很大的帮助。

由于

2 个答案:

答案 0 :(得分:3)

createChooser()不会生成“此操作的默认设置”复选框。如果您想要复选框,请将意图传递给startActivityForResult()

答案 1 :(得分:1)

这就是你在ICS上的表现:

final PackageManager packageManager = this.getPackageManager();
ComponentName componentName = new ComponentName(this, MainActivity.class);
packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);

Intent selector = new Intent(Intent.ACTION_MAIN);
selector.addCategory(Intent.CATEGORY_HOME);
startActivity(selector);