Android中啟動另外乙個Activity

2021-08-31 05:29:06 字數 1854 閱讀 5579

啟動另外乙個 activity

activity.startactivity()方法可以根據傳入的引數啟動另外乙個 activity:

intent intent =new intent(currentactivity.this,otheractivity.class);

startactivity(intent);

當然,otheractivity同樣需要在 androidmanifest.xml 中定義。

這點很重要,不然會報找不到activity錯誤.

activity 之間通訊

使用 intent 通訊

在 android 中,不同的 activity 例項可能執行在乙個程序中,也可能執行在不同的程序中。因此我們需要一種特別的機制幫助我們在 activity 之間傳遞訊息。android 中通過 intent 物件來表示一條訊息,乙個 intent 物件不僅包含有這個訊息的目的地,還可以包含訊息的內容,這好比一封 email,其中不僅應該包含收件位址,還可以包含具體的內容。對於乙個 intent 物件,訊息「目的地」是必須的,而內容則是可選項。

在上面的例項中通過 activity. startactivity(intent)啟動另外乙個 activity 的時候,我們在 intent 類的構造器中指定了「收件人位址」。

如果我們想要給「收件人」activity 說點什麼的話,那麼可以通過下面這封「e-mail」來將我們訊息傳遞出去:

intent intent =new intent(currentactivity.this,otheractivity.class);

// 建立乙個帶「收件人位址」的 email

bundle bundle =new bundle();// 建立 email 內容

bundle.putboolean("boolean_key", true);// 編寫內容

bundle.putstring("string_key", "string_value");

intent.putextra("key", bundle);// 封裝 email

startactivity(intent);// 啟動新的 activity

那麼「收件人」該如何收信呢?在 otheractivity類的 oncreate()或者其它任何地方使用下面的**就可以開啟這封「e-mail」閱讀其中的資訊:

intent intent =getintent();// 收取 email

bundle bundle =intent.getbundleextra("key");// 開啟 email

bundle.getboolean("boolean_key");// 讀取內容

bundle.getstring("string_key");

上面我們通過 bundle物件來傳遞資訊,bundle維護了乙個 hashmap物件,將我們的資料存貯在這個 hashmap 中來進行傳遞。但是像上面這樣的**稍顯複雜,因為 intent 內部為我們準備好了乙個 bundle,所以我們也可以使用這種更為簡便的方法:

intent intent =new intent(ex06.this,otheractivity.class);

intent.putextra("boolean_key", true);

intent.putextra("string_key", "string_value");

startactivity(intent);

接收:intent intent=getintent();

intent.getbooleanextra("boolean_key",false);

intent.getstringextra("string_key");

在乙個程式中啟動另外乙個程式

最近剛剛開始工作,發現在學校學習的那些基本上知識打打基礎而已,在實際的專案運作中根本就沒用。革命尚未成功,通知仍需努力啊 嘿嘿 上正題 因為我們需要做乙個類似於監控的系統,這樣的話就涉及到多個程式需要同時執行,並且需要有乙個程式 去控制另外乙個程式,之前沒有做過,也沒見過,不過還好,有一同事之前做過...

Android中的軟體列表 點選啟動另外乙個程式

目前面世的許多軟體中有這麼乙個功能 裝置中安裝了哪些軟體,他們會以乙個軟體列表清單的形式向使用者展示出來。今天我們就來實現這一功能 執行環境 motorola defy 系統2.3.6 本吊的吊絲機 主要 api packageinfo packagemanger類,它的主要職責是管理應用程式包。通...

啟動另外乙個activity,並返回結果

大致步驟 1.啟動另外乙個activity,這裡稱子activity 2.子activity通過setresult方法設定返回結果,setresult方法帶兩個引數 結果碼和表示為intent的負載值 3.父activity通過onactivityresult方法處理子activity返回的結果 讓...