鍍金池/ 問答/Java  Android  HTML/ android 中顯式intent跟隱式intent區(qū)別

android 中顯式intent跟隱式intent區(qū)別

android 中顯式intent跟隱式intent的區(qū)別就是有沒有配置intent-filter,這樣理解對嗎?

回答
編輯回答
夢一場

顯式 Intent 會指定一個確定的Activity,是否定義 intent-filter 和是否是顯式Intent 毫無關(guān)系。隱式Intent 必須具有確定的 intent-filter,可以根據(jù)action或者其他的配置確定一個activity,你可以認(rèn)為,每組 intent-filter 會對應(yīng)唯一的activity,當(dāng)確定以后即可以像顯式Intent 一樣使用

2018年3月16日 16:07
編輯回答
咕嚕嚕

Intent 分為兩種類型:

顯式 Intent:按名稱(完全限定類名)指定要啟動的組件。 通常,您會在自己的應(yīng)用中使用顯式 Intent 來啟動組件,這是因?yàn)槟酪獑拥?Activity 或服務(wù)的類名。例如,啟動新 Activity 以響應(yīng)用戶操作,或者啟動服務(wù)以在后臺下載文件。
隱式 Intent :不會指定特定的組件,而是聲明要執(zhí)行的常規(guī)操作,從而允許其他應(yīng)用中的組件來處理它。 例如,如需在地圖上向用戶顯示位置,則可以使用隱式 Intent,請求另一具有此功能的應(yīng)用在地圖上顯示指定的位置。

https://developer.android.goo...

2017年5月1日 18:41
編輯回答
奧特蛋

主要區(qū)別是隱式Intent沒有指定有哪些接收方有權(quán)限接收,而顯示Intent會明顯指出,比如setComponent、setClass或者初始化的時候指定具體類名。

// 隱式調(diào)用
Intent intent = new Intent("abcd");
startActivity(intent);
// 顯示調(diào)用
Intent intent = new Intent(this, TestActivity.class);
startActivity(intent);
2018年3月7日 15:11