admin管理员组文章数量:1624327
1.初始代码
<activity android:name=".MainActivity">
<intent-filter android:priority="1000">
<action android:name="android.settings.MANAGE_APPLICATIONS_SETTINGS" />
</intent-filter>
</activity>
2.情况
项目中需要跳转到自己开发的apk中,该action已经有系统apk注册,原本是跳转到系统的apk界面进行处理,在不修改action的情况下,跳转到自己开发的apk,那么可以通过设置相同的action,同时提高action的优先级priority,这样就可以跳转到我们的apk中了。
优先级范围是【-1000,1000】,最高就是1000,默认为0。
3.问题
按照上述代码,依然无法跳转到我们开发的apk中,主要是xml中的配置不正确,还需要添加catagory进行匹配,否则无法打开我们的apk.
4.解决后的代码
<activity android:name=".MainActivity">
<intent-filter android:priority="1000">
<action android:name="android.settings.MANAGE_APPLICATIONS_SETTINGS" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
5. 补充
android:priority
- priority 必须是整数,默认是0 , 范围是[-1000, 1000]
- 优先级的概念用于描述控件的 intent的filter的类型。
- 这个属性只对activity 和 receivers 是有意义的。
3.1 隐式调用activity的情况下: 如果多个activity 满足响应 的条件, 系统只会触发 priority 高的那个activity。
3.2 有序广播发出的情况下:如果多个receiver满足响应的条件,系统会优先触发priority搞的那个receiver。
本文标签: FilterIntentandroidPriority
版权声明:本文标题:<intent-filter android:priority=“1000“>失效问题 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1728895835a1178393.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论