android中intent的使用

2021-09-01 22:46:08 字數 1737 閱讀 8350

android中在進行介面跳轉時需要用到intent,而intent又分為顯示intent和隱式intent。

顯示intent:通常給intent指定了具體的元件的稱為顯示intent,這種只會跳轉到唯一乙個介面。

intent intent = new intent();

//跳轉到testactivty1

startactivity(intent);

實際使用中我們一般寫成下面這種形式

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

//跳轉到testactivty1

startactivity(intent);

隱式的intent:這個一般是在androidmanifest.xml檔案中定義activity時用到,過濾器形式存在。

intent-filter有三個子元素,action、category、data,這個過濾有點類似struts中action對映,但是又有很大的區別,struts中的action是唯一的,而intent-filter中的action是可以存在多個,intent中設定乙個action是可以對應多個activity的。category是分類,我的理解是增加匹配的精確度,intent-filter中一般都必須包含

,data佔時沒用到就沒研究,在**中隱式的跳轉介面時如下:

intent intent = new intent();

intent.setaction("testaction");

intent.addcategory("testcategory");

//匹配////startactivity(intent);

通過上面的方式,頁面可以跳轉到按以下方式定義activity中

如果有多個activity的匹配到,會彈出乙個介面讓使用者選擇跳轉到那個介面

像這個方式我們其實也經常遇到,比如你在看簡訊時,簡訊中有乙個鏈結,如果你手機中安裝了多個瀏覽器,此時會要你選擇使用那個瀏覽器。

intent-filter匹配規則

匹配規則為,首先匹配action,action中如果沒有符合的就代表沒有匹配到,匹配到action之後才考慮category。

action匹配規則是只要匹配到乙個就可以了,比如有和,intent.setaction("testaction");是可以匹配到的

category匹配規則為包含關係,就是**中intent.addcategory("");增加的category(可以有add多個)在配置檔案中intent-filter中必須要包含。比如

intent.setaction("testaction");

intent.addcategory("testcategory1");

可以匹配

1" />

也可以匹配

2" />

總之:1、在**中顯示的發起intent呼叫時,由於已經明確的知道要start的元件,中的配置對它是不起作用

2、在**中隱式的發起intent呼叫時,是會到androidmanifest.xml定義的元件中的

逐個去匹配的,如果匹配到僅只乙個就會start元件。有多個會要使用者進行選擇。

android中intent的作用

1 intent.action main string android.intent.action.main 標識activity為乙個程式的開始。比較常用。input nothing output nothing 例如 1 activity android name main android la...

Android中Intent的用法介紹

1.呼叫系統自帶瀏覽器 uri uri uri.parse intent intent new intent intent.action view,uri intent.setclassname com.android.browser com.android.browser.browseractiv...

Android中的Intent簡單使用

如下 uri uri uri.parse intent it new intent intent.action view,uri startactivity it 顯示地圖 如下 uri uri uri.parse geo 38.899533,77.036476 intent it new inte...