gpt4 book ai didi

android - 如何调出设置的默认启动器提示?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:28:38 25 4
gpt4 key购买 nike

我想检测我的启动器应用程序是否是默认启动器,如果不是,则提示让用户选择我的应用程序作为默认启动器。我面临的问题是出现提示时没有“仅一次”和“始终”选项。此外,在我的启动器应用程序上选择不会设置默认值。

在我的 onCreate 中,我进行了以下检查以查看我的应用程序是否是默认启动器,然后我启动一个带有 Intent 的对话框,以便用户可以选择我的应用程序作为默认启动器。

    if (!isMyAppLauncherDefault()) {
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"));
}

这是我检查我的应用程序是否为默认启动器的方法

private boolean isMyAppLauncherDefault() {
final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN);
filter.addCategory(Intent.CATEGORY_HOME);

List<IntentFilter> filters = new ArrayList<IntentFilter>();
filters.add(filter);

final String myPackageName = getPackageName();
List<ComponentName> activities = new ArrayList<ComponentName>();
final PackageManager packageManager = (PackageManager) getPackageManager();

// You can use name of your package here as third argument
packageManager.getPreferredActivities(filters, activities, null);

for (ComponentName activity : activities) {
if (myPackageName.equals(activity.getPackageName())) {
return true;
}
}
return false;
}

注意:我已尝试更改启动 Intent 的方式(请参阅下面的代码 fragment )。但是随后启动器根本没有出现。什么都没发生。

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);

如何显示“始终”按钮,以及如何设置实际的默认启动器设置。提前致谢!

最佳答案

The issue I am facing is that the prompt comes up without the options "Just Once" and "Always".

createChooser() 导致了这一点——这是为一次性选择器设计的,没有用于设置默认值的选项。删除您的 createChooser() 调用,只使用您构造的 Intent。如果没有默认启动器,用户将获得带有“仅一次”和“始终”选项的标准选择器。

但请注意,如果另一个 启动器是默认启动器,那么您的Intent 将只路由到该启动器。在这种情况下,您实际上无能为力,只能指导用户进入“设置”并删除他们与该应用的默认关联。

关于android - 如何调出设置的默认启动器提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27786828/

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