我有一个应用程序,我正在尝试“进入 Kiosk 模式”,但是我只希望它只发生在一个 Activity 上。在修改了一些控件之后,我想出了Intent.createChooser()
.
我想要做的是,一旦onCreate()
调用 Activity,触发Intent.createChooser()
提示用户将其设置为默认的 Home 应用程序;这样,我“禁用”了 Home 按钮,因为我已将启动 Activity 编程为在这种情况下直接返回我的 Kiosk Activity。
一旦 Kiosk Activity 通过密码退出到前一个,我想createChooser()
再次调用,以便用户可以将我的应用程序“取消设置”为默认的 Home 应用程序,他现在可以正常使用 Home 按钮。
问题是,当我打电话时createChooser()
,“设置为默认应用程序”复选框没有出现。我如何让它出现?
这是我的调用代码createChooser()
:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(Intent.createChooser(intent, "Set as default to enable Kiosk Mode"));
我已经看到帖子说我应该使用startActivityForResult()
,并且我尝试将 my 替换startActivity()
为以下内容:
startActivityForResult(intent, 1);
但这只是立即调用我的默认应用程序,而不会弹出选择器屏幕。