Intent用于两个Activity之间的跳转,有三种方式:
1.显示调用方法
该方式用于一个应用内的Activity的跳转,明确指定跳转到哪个Activity。
Intent intent=new Intent(ThisActivity.this,OtherActivity.class);
2.隐式调用方法
通过Activity在Manifest.xml文件中声明的Intent filter配置的activity的action、category、data三种标签查找到匹配的activity。
Intent intent2=new Intent(Intent.Action.View,Uri);
manifest.xml中activity的action、category、data使用举例。
<activity
android:name="***.AppViewerActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="file" android:pathPattern=".*.abc"
android:mimeType="*/*"/>
<data android:scheme="file"
android:mimeType="text/html"/>
</intent-filter>
</activity>
<activity
android:name="***.MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
3.跳转到另一个Activity后,当返回时能返回数据
在跳转的Activity端,调用startActivityForResult(intent2, 1),跳转到下一个Activity,其中第一个参数为传入的意图对象,第二个为设置的请求码;跳转到第二个Activity后,调用setResult(100, intent)方法可返回上一个Activity,其中第一个参数为结果码,第二个为传入的意图对象;在第一个Activity通过onActivityResult()方法获得返回的数据。