通过action和uri启动另一个应用的activity

通过action和uri启动另一个应用的activity

 

起始页:

①Intent intent = new Intent("com.test.main", Uri.parse("xxx://com.test.main?action=111"));

startActivity(intent);

其中,第一个参数为action,"xxx"为scheme,"com.test.main"为host,action=111标示参数的key为“action”,值为111.

注意,action需要全部为小写

② Intent intent = new Intent();//不需要action也可以跳转

intent.setData(Uri.parse("xxx://com.test.main?action=111"));

startActivity(intent);

目标页:

被启动的activity在清单文件里的注册规则:

<activity android:name=".TargetActivity">

<intent-filter>

<category android:name="android.intent.category.DEFAULT" />//一定要加这个category

<action android:name="com.test.main" /> //注意action需要为小写

<data

android:host="com.test.main"

android:scheme="xxx"></data>

</intent-filter>

</activity>

传值:

  1. Intent intent = getIntent();
  2. if (null != intent) {
  3. Uri uri = intent.getData();
  4. if (uri == null) {
  5. return;
  6. }
  7. String acionData = uri.getQueryParameter("action");
  8.  
  9. TextView tv = (TextView)findViewById(R.id.qijian_test_tv);
  10. tv.append("\n传过来的action值为:" + acionData);
  11. }

android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。

总体来说它的主要作用是:是否支持其它应用调用当前组件。

默认值:如果包含有intent-filter 默认值为true; 没有intent-filter默认值为false

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

钱王拳王

感谢 first big ge

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值