启动Activity的两种方式:
//启动第2个Activity通过直接的启动方式(显示启动)
public void startTwo(View v){
//下面的启动方式等同于Intent intent=new Intent(this,SectentActivity.class);
Intent intent=new Intent();
ComponentName component=new ComponentName(this,SectentActivity.class);
intent.setComponent(component);
startActivity(intent);
}
//通过Action属性来启动(隐示启动)
public void startTwo2(View v){
Intent intent =new Intent();
intent.setAction(MainActivity3.MY_ACTION);
startActivity(intent);
}
/*
* 自定义动作使用activity时,必须添加一个默认类别。
* 具体实现为:
* <activity
android:name=".MainActivity3">
<intent-filter>
<action android:name="com.example.intent.MY_ACTION"/>
<category android:name="android.action.category.DEFAULT"/>
</intent-filter>
</activity>
*
*如果有多个activity组件匹配成功,将会以列表的形式呈现出来让用户选择
*/
/*
* Intent中data属性的使用
* 1.data表示动作要操作的数据,实际上data数据用一个Uri(统一标识符)对象来表示
* 通常用action+data来组合使用表示一个意图
* 2.Intent匹配成功有多个组件时,显示优先级高的,如果优先级相同,就以列表的形式让用户
* 选择。优先级-1000——————1000,优先级要有负的才有效。
*/
public void start5(View v){
Intent intent =new Intent();
intent.setAction(Intent.ACTION_VIEW);
Uri data=Uri.parse("http://java.lampbrother.net");
intent.setData(data);
startActivity(intent);
}
/*
* Intent
* data+type属性的使用
* type表示数据类型或MIME类型(text/HTML,text/XML,)
* data和type通常只需要一个;setdata()会把type设置为空,settype()会把data设置为空。
*/
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.intent"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.intent.MainActivity5"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SectentActivity" >
</activity>
<activity
android:name=".MainActivity3">
<intent-filter>
<action android:name="com.example.intent.MY_ACTION"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
</manifest>