我已将我的应用程序设置为默认主页,一切正常,但如果我的应用程序将 Launcher 设置为默认主页(错误地),那么我的应用永远不会要求将我的应用设置为默认主页并直接打开 Launcher 主页。我想要这样,直到我的应用程序被设置为默认主页,它要求用户设置为默认值。请帮忙
提前致谢。
我已将我的应用程序设置为默认主页,一切正常,但如果我的应用程序将 Launcher 设置为默认主页(错误地),那么我的应用永远不会要求将我的应用设置为默认主页并直接打开 Launcher 主页。我想要这样,直到我的应用程序被设置为默认主页,它要求用户设置为默认值。请帮忙
提前致谢。
使用布尔条件创建首选项 ....
存储值 false 作为默认值...
通过检查此条件启动启动器
如果用户将您的应用设置为默认启动器,则使布尔偏好设置为 true ....
您可以通过这段代码检查当前的默认启动器:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
ResolveInfo resolveInfo = getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY);
String currentHomePackage = resolveInfo.activityInfo.packageName;
如这个答案所示:如何在 android 2.3 及更高版本中获取当前启动器的包名称?
因此,只需检查是否currentHomePackage
等于您的应用程序包并采取相应措施。
如果用户将另一个应用程序设置为默认启动器,则只有在他删除启动器默认值或删除/安装可以充当默认启动器的应用程序时,才会再次出现选择默认启动器的对话框。