利用Intent隐式跳转,实现手动选择打开符合条件的应用程序

先看实现效果:

实现如上图一样的效果,可以手动选择打开手机上符合条件的应用程序,用于程序中的一些功能,比如程序中分享功能,将手机上符合分享条件的所有程序弹出来供使用人手动选择;再比如手机白名单的实现!

实现原理:使用Intent的隐示意图跳转实现,具体代码如下

AndroidManifest.xml中的配置

<activity android:name=".thirdpartyActicity.OKHttpUtilsActivity">
            <intent-filter>
                <action android:name="okhttpUtils" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

action中填写自定义的名称,这个名称为过滤的内容之一,当两个程序的name一样时,在跳转的时候,实现上述效果;

category中使用默认值即可

Activity.java中intent代码如下:

​
        Intent intent = new Intent();
        intent.setAction(action);
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        startActivity(intent);

​

intent跳转时会与AndroidManifest.xml中的activity的action进行对比,一致时会自动跳转,当多个程序的action一致时,则会自动弹出选择,

根据上述原理,也可实现本程序中,根据action不同跳转不同的页面,在AndroidManifest.xml中,给不同的activity配置不同的action,在跳转位置,只需要写几句简单的跳转代码,即可实现自动跳转到不同页面!

注意:AndroidManifest.xml中的activity的action区分大小写,必须与Activity.java中的intent中的action完全一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值