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();
// 也可以增加跳转下载的代码逻辑
}
}```