Intent概述
Component屬性
說明:利用component屬性啟動另外一個activity
顯示Intent
//顯示Intent,從一個activity跳轉到另一個activity
Intent intent = new Intent(context, FloatWindowsService.class);
隐式Intent
顯示intent和隐式Intent的差別
隐式Intent示例代碼
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("點選了");
Intent intent = new Intent();
intent.setAction(intent.ACTION_VIEW);// 用來顯示
try {
intent.setData(Uri.parse("http://www.baidu.com")); //打開一個網頁,http://一定要寫,不然報錯
startActivity(intent); //啟動一個新頁面
} catch (Exception e) {
e.printStackTrace();
}
Intent過濾器
設定過濾器
常用組合方式
action:所要響應的事件
category:以什麼方式響應
data:響應的資料
示例代碼
設定過濾器,Manifest.xml
<activity android:name=".MainActivity">
<intent-filter>
<!--把目前Activity作為應用程式的入口,預設配置的-->
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ShowActivity">
<intent-filter>
<!--把目前Activity用來顯示資料-->
<action android:name="android.intent.action.VIEW" />
<!--執行資料的預設動作-->
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
MainActivity.java
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("點選了");
Intent intent = new Intent();
intent.setAction(intent.ACTION_VIEW);//将資料顯示給使用者
startActivity(intent);
}
});