其他分享
首页 > 其他分享> > 在Android中设置和取消设置默认应用

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

作者:互联网

我有一个尝试“进入信息亭模式”的应用程序,但是我只希望它仅出现在一个Activity上.在修改了一些控件之后,我想到了Intent.createChooser().

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

信息亭活动通过密码退出到前一个活动后,我想再次调用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(),并且我尝试用以下内容替换startActivity():

startActivityForResult(intent, 1);

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

解决方法:

你试过了吗

getPackageManager().clearPackagePreferredActivities(getPackageName());

根据How to reset default launcher/home screen replacement?,此操作将重置首选启动器.也许它也适用于主页按钮.

另外,您是否看过:Clearing and setting the default home application

标签:android-homebutton,android-launcher,default,android
来源: https://codeday.me/bug/20191030/1969739.html