1、 需求背景

由于公司有多个app,由于一些历(领)史(导)的原因,不能把App锁定某一款,而两款App是有一些业务上的联系的,所以领导要求App可以互相跳转.

2、 开始正文

2.1、 理论分析

从A跳转到B,首先A需要知道B的门牌号(包名),其次如果需要跳转到对应的Activity的话,还需要知道B的姓名(Activity的名字),然后开车(Android的Api)找到B.

2.2、 代码

2.2.1 A App中代码
    // 跳转其他app
    public void goAnotherApp(){

        try {
            Intent intent = new Intent();
        // 这里构造方法需要传递两个参数,第一个B App的包名,第二个是想要跳转的activity的名称,但是这里需要注意的 
               是,不能只填写activity的名称,要全路径名称
            ComponentName name = new ComponentName("com.slswd.purchasesalestock", 
                                 "com.slswd.purchasesalestock.activity.home.SalesOrderActivity");
            intent.setComponent(name);
            startActivity(intent);

        }catch (Exception e){
        // 提示app没有安装
            Toast.makeText(this,"请先安装该app",Toast.LENGTH_SHORT).show();
        // 也可以增加跳转下载的代码逻辑
        }