來源:優億論壇
Android基本的設計理念是鼓勵減小組件間的耦合,所以Android提供了Intent (意圖) ,Intent提供了一種通用的消息系統,它容許在你的應用程序與其它的應用程序間傳遞Intent來執行動做和產生事件。Intent做爲聯繫各 Activity之間的紐帶,其做用並不單單隻限於簡單的數據傳遞。經過其自帶的屬性,其實能夠方便的完成不少較爲複雜的操做。例如直接調用撥號功能、處 理接收短信,諸如此類,均可以經過設置Intent屬性來完成。 Intent主要有如下四個重要屬性,它們分別爲: Action:Action屬性的值爲一個字符串,它表明了系統中已經定義了一系列經常使用的動做。經過setAction()方法或在清單文件 AndroidManifest.xml中設置。標識Activity爲一個程序開始的示例代碼(AndroidManifest.xml進行配置)如 下:<span style="font-size:16px;"><intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </span> 複製代碼Data:Data一般是URI格式定義的操做數據。例如:tel:// 。經過setData()方法設置。 Category:Category屬性用於指定當前動做(Action)被執行的環境。經過addCategory()方法或在清單文件AndroidManifest.xml中設置。默認爲:CATEGORY_DEFAULT。 Extras:Extras屬性主要用於傳遞目標組件所須要的額外的數據。經過putExtras()方法設置。 在本文中,主要介紹常見action的使用,Action描述Intent所觸發動做名字的字符串,對於BroadcastIntent來 說,Action指被廣播出去的動做。理論上Action可 覺得任何字符串,而與Android系統應用有關的Action字符串以靜態字符串常量的形式定義在了Intent類中。Action中包含不少種,例如 呼入,呼出電話,老師上課講的接受短信等等,下面謹對常見的與系統有關的action進行整理: 1. Intent.ACTION_MAIN String: android.intent.action.MAIN 標識Activity爲一個程序的開始。 2. Intent.Action_CALL Stirng: android.intent.action.CALL 呼叫指定的電話號碼。 Intent intent=new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:10086"); startActivity(intent); 3. Intent.ACTION_POWER_CONNECTED; 插上外部電源時發出的廣播 4 Intent.ACTION_POWER_DISCONNECTED; 已斷開外部電源鏈接時發出的廣播 5.Intent.Action.DIAL String: action.intent.action.DIAL 調用撥號面板 Intent intent=new Intent(); intent.setAction(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:10086"); startActivity(intent); 6.Intent.Action.ALL_APPS String: andriod.intent.action.ALL_APPS 列出全部的應用。 7.Intent.ACTION_ANSWER Stirng:android.intent.action.ANSWER 處理呼入的電話。 8 .Intent.ACTION_BUG_REPORT String: android.intent.action.BUG_REPORT 顯示Dug報告。 9. Intent.Action_CALL_BUTTON String: android.action.intent.CALL_BUTTON. 至關於按「撥號」鍵。 Intent intent = new Intent(Intent.ACTION_CALL_BUTTON); startActivity(intent); 10. Telephony.SMS_RECEIVED String: android.provider.Telephony.SMS_RECEIVED 接收短信的action <intent-filter> <action android:name="android.provider.Telephony.SMS_RECEIVED"/> <data android:host="localhost"/> </intent-filter> 11. Intent.ACTION_GET_CONTENT String: android.intent.action.GET_CONTENT 容許用戶選擇特殊種類的數據,並返回(特殊種類的數據:照一張相片或錄一段音) 12. Intent.ACTION_BATTERY_LOW; String: android.intent.action.BATTERY_LOW 表示電池電量低 13. Intent.ACTION_SEND String: android.intent.action.Send 發送郵件的action 14. Intent.ACTION_CALL_PRIVILEGED String:android.intent.action.CALL_PRIVILEGED 調用skype的action Intent intent = newIntent("android.intent.action.CALL_PRIVILEGED"); intent.setClassName("com.skype.raider", "com.skype.raider.Main"); intent.setData(Uri.parse("tel:" + phone)); startActivity(intent); 15. Intent.ACTION_CLOSE_SYSTEM_DIALOGS 當屏幕超時進行鎖屏時,當用戶按下電源按鈕,長按或短按(無論有沒跳出話框),進行鎖屏時,android系統都會廣播此Action消息 以上是對常見的action進行總結,action其實有不少,若是要使用上文沒有列舉到的,google便可。 http://www.mtester.cn/content/?83.html 邁測(上海)信息科技有限公司