显式Intent
点击此处跳转
隐式Intent
不能够直接使用intent跳转,需要对intent添加Category action data这三种参数(可以不配置data)不明确指出要跳转到哪一个界面 而是根据这些参数信息 让系统去选择跳转到哪一个界面 比如我创建了另一个SecondActivity 希望能跳转到此页面 需要在AndroidManifest中配置如下信息:
<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="com.example.activitytest.ACTION_START"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
其中<category android:name="android.intent.category.DEFAULT" 是必须配置的,否则不支持隐式跳转 在MainActivity中 对一个Button进行如下配置:
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent("com.example.activitytest.ACTION_START");
intent.addCategory("android.intent.category.DEFAULT");
startActivity(intent);
}
});
其中intent.addCategory("android.intent.category.DEFAULT"); 是非必要配置的,因为android.intent.category.DEFAULT是一种默认的Category,在调用startActivity()时会自动将该Category添加进intent。
intent可以不添加category 但是必须要有action。 有category的情况下 必须要在对应的action中配置的有相同的category才能成功跳转
使用隐式intent不仅可以启动自己程序内的活动,还可以启动其他程序的活动
Data
比如跳转其他网页:直接在Activity中进行如下配置即可
Intent it = new Intent(Intent.ACTION_VIEW);
it.setData(Uri.parse("http://www.google.com"));
startActivity(it);
其他常用的隐式intent
|