我想要一个<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/