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()方法传递数据。
本文详细介绍了Android中Intent的两种基本用法:显式Intent用于直接指定接收者,而隐式Intent则用于不关心具体接收者的场景,有助于降低组件间的耦合。通过实例展示了如何实现这两种Intent的调用。
440

被折叠的 条评论
为什么被折叠?



