- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想检测我的启动器应用程序是否是默认启动器,如果不是,则提示让用户选择我的应用程序作为默认启动器。我面临的问题是出现提示时没有“仅一次”和“始终”选项。此外,在我的启动器应用程序上选择不会设置默认值。
在我的 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/
基本上我想让用户点击文本字段,它会显示一个填充的选择器 View 而不是键盘。我假设这也需要一个带有完成按钮的工具栏。我目前将该字段设置为输出和操作,仅此而已。我还有一个代码中的操作表,用于当用户提交
我是 Java 新手。 我在用 Java 实现的分布式框架之上运行一个应用程序。该应用程序是磁盘和网络 I/O 密集型作业。 每台机器有 32 GB 内存。我每台机器运行 4 个工作进程,并为每个进程
我已经为我的 map View 创建了自定义注释和标注。当用户单击调出 View 或者他单击作为 subview 添加到调出 View 的按钮时,我需要导航到另一个 View 。但在这种情况下,手势识
我正忙于开发一个使用 F12 的 Delphi 应用程序 当我在 Delphi IDE 下运行该软件并按 F12 时,程序停止并打开“CPU”窗口 当按下 F12 时,我该如何阻止 Delphi ID
我在 Xcode 中设计了一个很好的登录框作为 xib 文件,当用户在我的应用程序的登录页面上点击“登录”时,我希望登录框弹出并让他们输入他们的信息. 目前我很难让它出现,因为这是我第一次使用 xib
Google 桌面搜索有一个很好的功能,可以在后台运行时捕获监视器快捷方式(例如 Ctrl + Ctrl)。捕获事件后,将显示桌面搜索栏。有没有办法在 C# 中简单地实现它? 最佳答案 您可以使用 G
我一直在开发 React 网络应用来发送群发短信。基本总结:你上传一个 CSV 文件,它从中提取电话号码并映射它们,然后你可以使用 Twilio 向电话号码发送文本。上次我测试它时,一切正常。 由于各
我是一名优秀的程序员,十分优秀!