Android APP间跳转

1. 通过包名启动APP

启动方式,只需知道目标APP包名即可

例如:app1 跳转到app2

app2包名为:com.demo.skipdemo

app1启动代码如下:

//通过目标APP的包名创建intent对象
Intent intent = getPackageManager().getLaunchIntentForPackage("com.demo.skipdemo");
// 这里如果intent为空,就说名没有安装要跳转的应用嘛
if (intent != null) {
    //传参方式与Activity间跳转相同
    intent.putExtra("name", "Liu xiang");
    intent.putExtra("birthday", "1983-7-13");
    startActivity(intent);
} else {
    //没有安装目标app应用
}

       该方式只能跳转到目标APP的启动页。

2.启动APP的任意页

该方法启动时,需要在目标APP的manifest中想要启动的页面添加intent-filter。

例如:app1 跳转到app2的TestActivity

app2的manifest中目标activity添加intent-filter如下:

<activity
    android:name=".TestActivity"
    android:exported="true" >
    <intent-filter>
       <action android:name="skip" />
       <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

        注*:exported要设置为true,action的name要记住,启动时标志即为这个。

app1的启动代码如下: 

// 标志(要和目标APP的清单文件中的标志一样)
Intent intent = new Intent("skip");  
intent.putExtra("name", "Liu xiang");
intent.putExtra("birthday", "1983-7-13");
startActivity(intent);

          总结:两种方式都可以实现APP间跳转,第一种只可跳转至app2的启动页,但app2无需任何设置;第二种可跳转至任何页,但需要app2中进行相应设置。两种方式的传参方式都与普通activity传参一致,同时也可返回参数。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值