2013-04-30 45 views
0

我知道在系統中註冊的公共(已命名)意圖可以從任何應用程序和單個 應用程序中使用的私人(匿名)意圖中調用。請任何人都可以給我一個更好的理解的例子。公共和私人意圖有什麼區別

在此先感謝

回答

0

對不起沒有時間寫一個完整的答案,但你可以創建自定義權限,以簽署你的Intents & BroadcastReceivers

當您使用這些自定義權限時,只有使用相同簽名密鑰簽名幷包含該自定義權限的應用才能看到這些意向。

這個問題可以幫助你:


@Commonsware解釋這個問題真的很好在最近的一篇博客:

0

Android documentation大概做了解釋它的最好的工作,這裏是一個相關的片段:

有您將使用意圖的兩種主要形式。

已指定的組件(經由 setComponent(組件名稱)或setClass(上下文,類)),其 提供確切類要運行

顯式意圖。通常這些將不包括任何其他信息,僅僅是作爲用戶與 應用程序交互時應用程序啓動其所具有的各種內部活動的方式。

沒有指定的部件

隱意圖;相反,它們必須包含足夠的信息以供系統確定哪些可用組件最適合爲該意圖運行哪些組件。當使用 隱含意圖時,給定這樣一個任意的意圖,我們需要知道什麼 與它做。

這是由Intent解析過程處理的,它將Intent映射到可以處理它的活動,廣播接收器或服務(或有時兩個或多個活動/接收器)。

您在活動中用來啓動內部活動的顯式意圖。

雖然隱式意圖通常用於啓動其他活動,例如當您想要共享鏈接或發送電子郵件時,您會發出隱含意圖並讓用戶決定用於發送電子郵件或共享的電子郵件客戶端鏈接。

有些情況下,您可能希望使用隱式意圖來運行應用程序的內部組件,因爲它似乎更穩定。