<intent-filter android:priority=“1000“>失效问题

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

  1. priority 必须是整数,默认是0 , 范围是[-1000, 1000]
  2. 优先级的概念用于描述控件的 intent的filter的类型。
  3. 这个属性只对activity 和 receivers 是有意义的。
    3.1 隐式调用activity的情况下: 如果多个activity 满足响应 的条件, 系统只会触发 priority 高的那个activity。
    3.2 有序广播发出的情况下:如果多个receiver满足响应的条件,系统会优先触发priority搞的那个receiver。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好好学安卓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值