Action :規定了Intent要完成的動作,是一個字符串常量。使用setAction()來設置Action屬性,使用getAction()來獲得Action屬性。既可以使用系統內置的Action,也可以自己定義。系統自定義的action,如ACTION_VIEW, ACTION_EDIT, ACTION_MAIN等等。
1.自定義Action
在“目的Activity”的AndroidManifest.xml中指定action常量。
<activity android:name=".ActionDestination">
<intent-filter>
<action android:name="Skywang_ACTION" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<categoryandroid:name="android.intent.category.DEFAULT" />的作用是用來說明,可以通過隱式跳轉(即其它類調用setAction("Skywang_ACTION"))來找到ActionDestination這個activity。這樣,其它的類就可以通過下面的代碼跳轉到ActionDestination。跳轉時,setAction的字符串"Skywang_ACTION"必須與AndroidManifest.xml中定義的"Skywang_ACTION"一致。
Intent intent = new Intent();
intent.setAction("Skywang_ACTION");
startActivity(intent);
2系統Action
// 流量網頁
Uri uri =Uri.parse("http://www.baidu.com");
Intent intent = newIntent(Intent.ACTION_VIEW, uri);
startActivity(intent);
// 撥打電話
// if you want to use ACTION_DIAL, you mustadd permissin in manifest, the permission is bellow
// <uses-permissionandroid:name="android.permission.CALL_PHONE" />
Uri uri = Uri.parse("tel:12580");
Intent it = new Intent(Intent.ACTION_DIAL,uri);
startActivity(it);
// 發送短信
Uri uri = Uri.parse("smsto:13410177756");
Intent it = newIntent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "TheSMS text");
startActivity(it);
//播放mp3
Intent it = new Intent(Intent.ACTION_VIEW);
Uri uri =Uri.parse("file:///sdcard/song.mp3");
it.setDataAndType(uri, "audio/mp3");
startActivity(it);