在当前app直接启动另一个app

来源:互联网 发布:传奇引擎全套源码 编辑:程序博客网 时间:2024/06/06 15:47

对于android中的跨进程间通信 大家肯定都有了解:

                     Activity 、AIDL 、BroadcastReceiver、ContentProvider  都可进行实现通信

而今天要说的是  从当前app 直接去启动另一个app 的某个界面

首先:最容易想到的是 广播

然而:亲测 接收广播的app在被kill后 会收不到广播

这时,可直接使用Activity进行启动:

1. 要判断应用是否存在:

/**   *  根据包名判断应用是否存在 * @param context * @param packageName * @return */private boolean isAvilible(Context context, String packageName){    final PackageManager packageManager = context.getPackageManager();//获取packagemanager    List< PackageInfo> pinfo = packageManager.getInstalledPackages(0);//获取所有已安装程序的包信息    List<String> pName = new ArrayList<String>();//用于存储所有已安装程序的包名    //从pinfo中将包名字逐一取出,压入pName list中    if(pinfo != null){        for(int i = 0; i < pinfo.size(); i++){            String pn = pinfo.get(i).packageName;            pName.add(pn);        }    }    Log.e("有没有安装该程序",""+pName.contains(packageName));    return pName.contains(packageName);//判断pName中是否有目标程序的包名,有TRUE,没有FALSE}
 
2.判断后  进行界面的启动:

boolean b = isAvilible(model.getContext(),"myapp.first.myapplication2");Log.e("是否已安装该程序",""+b);if (b){    Intent i = new Intent();    ComponentName cn = new ComponentName("myapp.first.myapplication",// 应用包名            "myapp.first.myapplication.ui.MainActivity");// 要启动的activity  的全类名    i.setComponent(cn);// 给Initent设置组件    model.getContext().startActivityForResult(i, RESULT_OK);// 我的是mvp 所以上下文是这样的  需根据你自己的进行修改}else {    Log.e("没有安装该程序","");}
//未安装,可跳转至market下载该程序     Uri uri = Uri.parse("market://details?id=com.skype.android.verizon");//id为包名     Intent it = new Intent(Intent.ACTION_VIEW, uri);
    model.getContext().startActivity(it);

//未安装时,也可弹个对话框 提示一下然后让用户去下载


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 2个月宝宝3天没拉大便怎么办 宝宝拉不出大便老是憋的哭怎么办 九个月的宝宝不爱吃水果怎么办 顺产侧切伤口发炎化脓有臭味怎么办 一岁宝宝感冒发烧39度怎么办 宝宝二岁半了只吃水果不吃饭怎么办 8个月小孩发烧39度怎么办 咳嗽吃了很多药都不见效果怎么办 生完孩子半个月奶水越来越少怎么办 买到了坏了的水果商家不赔怎么办 小孩奶不够吃又不吃奶粉怎么办 10个月的宝宝便秘很严重怎么办 四岁的宝宝突然不怎么吃饭怎么办 1岁7个月宝宝突然不爱吃饭怎么办 宝宝发烧好了之后不吃辅食怎么办 吃母乳的宝宝不喝奶粉怎么办 奶水不足宝宝又不喝奶粉怎么办 6个月宝宝断奶哭闹不用奶瓶怎么办 小孩不爱吃饭怎么办该吃些什么 二个月宝宝只认母乳不喝牛奶怎么办 满月宝宝只认奶粉不认母乳怎么办 宝宝四个月只认奶瓶不认母乳怎么办 新生儿只认奶瓶不认母乳怎么办 7个月宝宝不吃辅食怎么办 8个月小孩不吃辅食怎么办 9个月小孩不吃辅食怎么办 十一个月宝宝拉肚子拉水怎么办 小孩好动上课也坐不住会怎么办 幼儿大班关于环保的手抄报怎么办 捷达车打开丝位子风扇总转怎么办 小班个案分析:好动的孩子该怎么办 孩子突然过于的兴奋不睡觉是怎么办 刚出生的宝宝听力未通过怎么办 孩子多动症被老师打不上学怎么办 小孩在校被学生打家长该怎么办? 8岁儿童好动上课不注意听课怎么办 怀孕第一个月喝了啤酒怎么办 不知道自己怀孕喝了酒怎么办 怀孕一个月不知道喝酒了怎么办 老师说孩子上课不专心听讲怎么办 二年级孩子上课不认真听讲怎么办