android - 有没有办法只针对某些 Android 版本设置 Intent 过滤器?

标签 android

我想要一个<intent-filter>仅适用于 Android 10+。有什么方法可以通过向 xml 添加一些属性来做到这一点吗?

谢谢。

最佳答案

不,事情没那么简单。 AFAIK,没有使用服务或接收器执行此操作的方法,但有一个应该适用于 Activity 。

首先,创建一个boolean资源,具有与不同 API 级别相关的不同值。例如,您可以创建 res/values/bools.xml文件,定义 boolean资源,名称为isQ ,值为 false 。然后您可以创建一个 res/values-v29/bools.xml文件,定义另一个 boolean资源,具有相同的名称 ( isQ ),且值为 true .

然后,定义 <activity-alias>在您的 list 中,为此 Activity 提供别名。将您的 Android-10-only <intent-filter><activity-alias> 。并且,有android:enabled="@bool/isQ"关于<activity-alias> 。这应该会给你你想要的效果:只有 <intent-filter>在 Android 10 及更高版本上开始您的 Activity 。

关于android - 有没有办法只针对某些 Android 版本设置 Intent 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62268017/

相关文章:

android - 为对话框设置 "dim"颜色

android - 保持 Android 蓝牙扫描但它自行停止

android - 如何在android中使用surfaceview类捕获后在imageview中显示图像

android - 在 itemclick 的自定义 ListView 中显示隐藏 TextView

android - 启动错误 : Failed to connect to remote VM

android - Python + MIDI + Ableton Live,怎么做?

Android ListView 项目对齐

java - 只打印特定信息到String

android - 更新Assets文件夹的解决方法

java - 从 JSON 检索结果到 ArrayList