gpt4 book ai didi

android - 在 Android 中设置和取消设置默认应用

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:23 25 4
gpt4 key购买 nike

我有一个应用程序正在尝试“进入 Kiosk 模式”,但我只希望它只发生在一个 Activity 上。在修改了一些控件之后,我想到了 Intent.createChooser()

我想做的是,一旦 Activity 的 onCreate() 被调用,触发 Intent.createChooser() 以提示用户将其设置为默认主页应用程序;这样,我就“禁用”了主页按钮,因为我已将我的启动 Activity 编程为在这种情况下直接返回我的 Kiosk Activity。

一旦 Kiosk Activity 通过密码退出到上一个,我想再次调用 createChooser() 以便用户可以“取消设置”我的应用程序作为默认主页应用程序,他现在可以按照正常方式继续使用主页按钮。

问题是,当我调用 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(),我尝试用以下内容替换我的 startActivity():

startActivityForResult(intent, 1);

但这只是立即调用了我的默认应用程序,而没有弹出选择器屏幕。

最佳答案

你试过吗

getPackageManager().clearPackagePreferredActivities(getPackageName());

根据 How to reset default launcher/home screen replacement?这会重置首选启动器。也许它也适用于主页按钮。

或者,您是否看过:Clearing and setting the default home application

关于android - 在 Android 中设置和取消设置默认应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17540678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com