Intent有两种跳转方式,一种是显示跳转,一种是隐式跳转。
显示跳转主要是用在应用内的界面跳转,而隐式跳转一般用于跨应用跳转,如跳转到选取联系人信息或系统相册界面等。
因已经有一篇文章详尽的描述了intent的显示跳转方式,本文将着重介绍Intent的隐式跳转。
隐式跳转的核心:清单文件和当前Activity界面。
在清单文件中配置目标Activity的data、category、action的值,在当前Activiyt中依次设置intent 的data、category、action值即可。
以下是代码:
清单文件:
<span style="font-size:12px;"><activity
android:name=".OtherActivity"
android:label="@string/str_two_label">
<intent-filter>
<action android:name="com.zhi.meimei"/>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.zhi.yugong"/>
<data android:scheme="zhi" android:host="www.zhi.com" android:path="/zhi" android:mimeType="image/png"/>
</intent-filter>
</activity></span>
当前Activity文件:
private void jump(){
Intent intent = new Intent();
intent.setAction("com.zhi.meimei");
intent.addCategory("com.zhi.yugong");
intent.setDataAndType(Uri.parse("zhi://www.zhi.com/zhi"), "image/png");
startActivity(intent);
}
我在实验过程中,引起崩溃的原因不是因为单词错误,而是在清单文件中配置category 时,没有添加一个默认的category。
即:<category android:name=”android.intent.category.DEFAULT”/>