歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 常用的intent Action整理

Android基本的設計理念是鼓勵減少組件間的耦合,因此Android提供了Intent (意圖) ,Intent提供了一種通用的消息系統,它允許在你的應用程序與其它的應用程序間傳遞Intent來執行動作和產生事件。Intent作為聯系各Activity之間的紐帶,其作用並不僅僅只限於簡單的數據傳遞。通過其自帶的屬性,其實可以方便的完成很多較為復雜的操作。例如直接調用撥號功能、處理接收短信,諸如此類,都可以通過設置Intent屬性來完成。

Intent主要有以下四個重要屬性,它們分別為:

Action:Action屬性的值為一個字符串,它代表了系統中已經定義了一系列常用的動作。通過setAction()方法或在清單文件AndroidManifest.xml中設置。標識Activity為一個程序開始的示例代碼(AndroidManifest.xml進行配置)如下:

  1. <span style="font-size:16px;"><intent-filter>  
  2.                 <action android:name="android.intent.action.MAIN" />  
  3.                 <category android:name="android.intent.category.LAUNCHER" />  
  4. </intent-filter>  
  5. </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即可。

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved