Intent的主要屬性的使用說明

2021-07-02 04:10:13 字數 1914 閱讀 7202

intent作為聯絡各activity之間的紐帶,其作用並不僅僅只限於簡單的資料傳遞。通過其自帶的屬性,其實可以方便的完成很多較為複雜的操作。例如直接呼叫撥號功能、直接自動呼叫合適的程式開啟不同型別的檔案等等。諸如此類,都可以通過設定intent屬性來完成。

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

action:action屬性的值為乙個字串,代表了系統中已經定義了一系列常用的動作。通過setaction()方法或在清單檔案androidmanifest.xml中設定。預設為:default。

data:data通常是uri格式定義的運算元據。例如:tel:// 。通過setdata()方法設定。

category:category用於指定當前動作(action)被執行的環境。通過addcategory()方法或在清單檔案androidmanifest.xml中設定。預設為:category_default。

extras:extras屬性主要用於傳遞目標元件所需要的額外的資料。通過putextras()方法設定。

四個屬性各自的常用值如下所示:

action:

action_dial:開啟系統預設的撥號程式,如果data中設定了**號碼,則自動在撥號程式中輸入此號碼。

action_call:直接呼叫data中所帶的號碼。

action_answer:接聽來電。

action_send:由使用者指定傳送方式進行資料傳送操作。

action_boot_completed:android系統在啟動完畢後發出帶有此action的廣播(broadcast)。

action_time_changed:android系統的時間發生改變後發出帶有此action的廣播(broadcast)。

category:

category_default:android系統中預設的執行方式,按照普通activity的執行方式執行。

category_home:設定該元件為home activity。

category_preference:設定該元件為preference。

category_launcher:設定該元件為在當前應用程式啟動器中優先順序最高的activity,通常為入口action_main配合使用。

category_browsable:設定該元件可以使用瀏覽器啟動。

category_gadget:設定該元件可以內嵌到另外的activity中。

extras:

extra_subject:存放郵件主題字串。

extra_text:存放郵件內容。

extra_key_event:以keyevent物件方式存放觸發intent的按鍵。

extra_phone_number:存放呼叫action_call時的**號碼。

data:

tel://:號碼資料格式,後跟**號碼。

smsto://:短息資料格式,後跟簡訊接收號碼。

content://:內容資料格式,後跟需要讀取的內容。

file://:檔案資料格式,後跟檔案路徑。

market://search?q=pname:pkgname:市場資料格式,在google market裡搜尋包名為pkgname的應用。

geo://latitude, longitude:經緯資料格式,在地圖上顯示經緯度所指定的位置。

下面來看幾個例子:

//啟動系統瀏覽器

public void onclick(view v)

//啟動相簿

public void onclick(view v)

//傳送簡訊

public void onclick(view v)

//開啟撥號介面

public void onclick(view v)

Intent的Flags屬性的作用

intent intent new intent reorderfour.this,reordertwo.class intent.addflags intent.flag activity reorder to front startactivity intent 1 intent.flag ac...

Intent的七大屬性

1 componentname 元件,指定需要啟動的名稱 可用於啟動activity intent intent new intent componentname cm new componentname this,bactivity.class intent.setcomponent cm sta...

Intent一堆屬性的意義

個人理解。data屬性,就是我們所說的uri當然,這裡是字串型別的。type屬性用來明確指定data屬性所指定資料的型別或mime型別,比如下邊的 intent intent new intent intent.action get content intent.settype vnd.androi...