Intent元件之間實現通訊

2021-08-09 19:42:18 字數 1776 閱讀 5708

intent(意圖)常見的就是用來繫結應用程式元件,並在應用程式間進行 通訊.

一般用於啟動activity、啟動服務、傳送廣播 (承擔三大元件之間的通訊)

啟動元件常用方法

對activity ——–》startactivity(intent intent) / startactivityforresult(intent intent)

對service ———-》componentname startservice(intent intent)

和boolean bindservice(intent service,serviceconnection conn,int flags)

對broadcastreceiver ———》sendbroadcast(intent intent) /

和 sendbroad(intent intent,string receiverpermission)

和sendorderedbroadcast(intent intent,string receiverpermission)

intent顯式意圖和隱式意圖

顯式:intent intent = new intent(this,main2activity.class);

startactivity(intent);

隱式:在androidmainifest.xml 中設定

例:

隱式是這麼開啟的

intent intent = new intent();

intent.setaction(「cn.itcast.***」);

將你所設的action和catagory copy copy到這

startactivity(intent);

可設定的有動作(action)類別(catagory)、資料(uri和資料型別)

然後系統會根據你所定義的查詢合適你的元件

例:activity1

intent intent = new intent();

intent.putextra(「key」,data);假設data為string型

startactivity(intent);

接收資料

activity2

intent intent = new intent();

string data = intent.getstringextra(「key」);

activity1:

intent intent = new intent(this,activity2.class);

startactivityforresult(intent,請求碼);

重寫onactivityresult方法

protected void onactivityresult(int requestcode,int resultcode,intent data)

}activity2:

intent intent = new intent();

intent.putextra(「key」,data);

setresult(請求碼,intent);

finish();銷毀當前活動

Android的元件通訊 intent

元件要通過intent宣告自己的條件,一般通過元件的元素來實現.intent可以啟動乙個activity,可以啟動乙個service,也可以發起乙個廣播 broadcast intent由以下幾個部分組成 動作 action 資料 data 分類 category 型別 type 元件 compon...

元件之間通訊

一 父元件向子元件傳遞資料 在 vue 中,可以使用 props 向子元件傳遞資料。子元件部分 這是 header.vue 的 html 部分,logo 是在 data 中定義的變數。如果需要從父元件獲取 logo 的值,就需要使用props logo 在 props 中新增了元素之後,就不需要在 ...

使用Intent實現Activity之間傳值與跳轉

在乙個android的應用程式中,很少只存在乙個activity,一般都有多個activity,如何在多個activity之間進行跳轉和傳值呢?我們可以通過 intent 物件來實現上面所述的功能。本例通過在firstactivity中實現兩個數進行相加,把相加的結果值通過intent把值傳遞到se...