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...