Android界月老Intent詳解

2021-09-12 03:45:34 字數 2635 閱讀 3425

a.在activity之間:

然後在mainactivity中重寫onactivityresult方法拿到回傳過來的資料,其中requestcode表示請求碼,resultcode表示請求結果碼,data就是你剛才在secondactivity中通過setresult方法設定的intent,資料就在其中。

b.在廣播中的使用:

c.在service中的使用:

下面逐個學習這些屬性:

a.component(元件)

在介紹component之前,我們首先來了解componentname這個類;componentname與intent同位於android.content包下,這個類主要用來定義可見乙個應用程式元件,通過檢視原始碼,我們了解到他有五個構造方法:

b.action(動作)

此標籤用於指定當前元件可以執行哪些操作,可以指定多個action,比如當前元件啟動的intent指定的action與其他元件在所列出的任意乙個匹配的話,當前元件就可以完成這個action:

常用的action如下所示:

兩條原則:

(1)一條元素至少應該包含乙個,否則任何intent請求都不能和該匹配。

(2)如果intent請求的action和中個任意一條匹配,那麼該intent就可以啟動該activity(前提是除了action的其它項也要匹配通過)。

兩條注意:

如果intent請求或中沒有說明具體的action型別,那麼會出現下面兩種情況:

(1)如果中沒有包含任何action型別,那麼無論什麼intent請求都無法和這條匹配。

(2)如果intent請求中沒有設定action型別,那麼只要中包含有action型別,這個intent請求就將順利地通過的行為測試。

c.category(類別)

category用來指定當前動作(action)被執行的環境,也就是說元件在哪種環境中才能被啟用。

常用的category屬性如下所示:

注意:如果該元件想要通過隱式intent方式啟用,那麼不能沒有任何category設定,至少包含乙個android.intent.category.default

d.data(資料)

我們先來看乙個示例:

case r.id.btn_start_baidu://啟動targetactivity

1>顯示intent,顧名思義,就是你要啟動的活動從**裡面可以明顯的看到,比如 intent.setclass(this, secondaactivity.class);這行**,我們可以很清楚地看到,它是要從當前活動跳轉至 secondaactivity這個活動。

2>隱式intent剛好相反,我們從**角度無法直接看出來將要跳轉到**,因為它是通過匹配action和category等資訊,然後交給系統去分析將要響應哪個元件。

eg.指定啟動活動的action:

intent.setaction("com.android.basic.summary.secondactivity_action_start");
在清單檔案裡面指定secondactivity的action和category

呼叫Android系統設定中的Intent

開發android軟體時,常常需要開啟系統設定或資訊介面,來設定相關系統項或檢視系統的相關資訊,這時我們就可以使用以下語句來實現 如開啟 無線和網路設定 介面 intent intent new intent componentname comp new componentname com.andr...

設定Fiddler來抓取Android介面資料

2.將fiddler設定遠端訪問pc 選擇fiddler tools fiddler option 3.選擇connection,在fiddler listen on port後輸入8888,表示允許遠端pc連線。5.修改手機wifi配置 保證手機wifi和pcwifi連線同乙個wifi 進入wla...

通過程式開啟Android常用系統設定介面

通過程式開啟android常用系統設定介面 android軟體時,常常需要開啟系統設定或資訊介面,來設定相關系統項或檢視系統的相關資訊,這時我們就可以使用以下語句來實現 如開啟 無線和網路設定 介面 intent intent new intent componentname cm new comp...