首页 > 解决方案 > 如何将应用设置为默认应用或让用户选择应用?

问题描述

目前我正在尝试创建一堆简单的 Android 应用程序来用它们替换默认应用程序。

我已经在这篇文章中看到了如何将 SMS 应用程序设置为默认值:

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="vnd.android-dir/mms-sms" />
</intent-filter>

但我想知道如何为这些应用程序实现相同的目标:

我已经注意到,在没有用户交互的情况下,几乎不可能以编程方式将应用程序设置为默认应用程序。这将是主要目标,但如果用户可以选择他们想要使用的应用程序作为默认应用程序也是可以的。但我想确保我上面列出的应用程序是可选择的。所以我的问题是,我必须将哪些 mime 类型添加到 android 清单文件中的意图过滤器中?

标签: javaandroidkotlinandroid-manifestintentfilter

解决方案


您需要为您希望您的应用程序成为默认应用程序的文件类型、操作或类别注册一个意图过滤器。然后,用户可以根据需要选择您的应用作为默认应用。

在此处查看有关 Intent 和 Intent Filters 的更多信息。

只有通过 root 访问才能将您的应用程序强制为默认应用程序。


推荐阅读