Intent隐式调用:启动其它应用程序

Intent的两种基本用法:

  • 显式的Intent,即在构造Intent对象时就指定接收者,这种方式与普通的函数调用类似;

  • 隐式的Intent,即Intent的发送者在构造Intent对象时,并不知道也不关心接收者是谁,有利于降低发送者和接收者之间的耦合。

显示调用 :

Intent intent = new Intent();
intent.setClass(A.this,B.class);
intent.setClassName("com.android.activity",B.class);//指定包名下的类名 
startActivity(intent);

隐式调用:

1.首先在应用A的某个类中:

Intent intent = new Intent();
intent.setAction("com.android.activity");//"com.android.activity"为自定义action
//Intent intent = new Intent("com.android.activity");或者使用这种写法
intent.putExtra("KEY","VALUE");//传递数据
startActivity(intent);

2.在应用B中接收A发来的action:
如果DemoActivity是程序的入口:

<activity android:name=".DemoActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"
        <action android:name="com.android.activity" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
如果DemoActivity不是程序的入口:  
<activity android:name=".DemoActivity">
    <intent-filter>
        <action android:name="com.android.activity" />
        <category android:name="android.intent.category.DEFAULT" /><!--必须加,不要遗漏-->
    </intent-filter>
</activity>

以上简单的介绍了从一个程序使用隐式意图打开另一个应用activity的用法。这种用法在只有一个app的情况下应用较少,主要应用于存在有相互调起的逻辑的应用之间。与显示意图相同,同样可以通过putExtra()方法传递数据。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值