Android应用之间的跳转

在Android中跳转到其他的APP,只需要一个包名就可以做到。我们这里已手机QQ为示例,手机QQ的包名如下:com.tencent.mobileqq

关键代码如下:

public void jumpQQ(){
        Intent intent=new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        boolean flag1=packageIsHas(intent, "com.tencent.mobileqq");
        if(!flag1){
        Toast.makeText(getActivity(), "您的手机还没有安装手机QQ,请下载后再试!",         Toast.LENGTH_SHORT).show();
        return;
        }
        Intent in=getActivity().getPackageManager().getLaunchIntentForPackage("com.tencent.mobileqq");
        startActivity(in);
}
/**
         * 判断该包是否存在
         * @param intent
         * @param packageName
         * @return
         */
        private boolean packageIsHas(Intent intent,String packageName){
            List<ResolveInfo> list=getActivity().getPackageManager().queryIntentActivities(intent, 0);
            for(int i=0;i<list.size();i++){
                if(list.get(i).activityInfo.packageName.equals(packageName)){
                    return true;
                }
            }
            return false;
        }

这样就完成了应用的跳转,是不是觉得非常简单。下面我们介绍一下如何跳转到指定页面,跳转到指定页面除了需要应用的包名外,我们还需要该应用的页面包名加上类名。我这里使用了Coremail应用为例,项目包名:cn.mailtech.app,界面包名:cn.mailtech.app.activity.SplashMailtech

关键代码:

                                Intent in=new Intent(Intent.ACTION_MAIN);
				in.addCategory(Intent.CATEGORY_LAUNCHER);
				boolean flag=packageIsHas(in5, "cn.mailtech.app");
				if(!flag){
					Toast.makeText(getActivity(), "缺少Coremail应用,请下载!", Toast.LENGTH_SHORT).show();
					return;
				}
				ComponentName component=new ComponentName("cn.mailtech.app", "cn.mailtech.app.activity.SplashMailtech");
				in.setComponent(component);
				startActivity(in);

重复的方法我就没贴了,是不是瞬间觉得非常简单。学会了赶紧去练练手!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值