我有2個應用程序。
如果我使用的服務,我可以設置權限,以便只有app1
可以發送意圖app2
:
在app2
(protection level: signature
)定義權限, 使用許可,app1
。
app2
中的服務受該權限的保護。
這樣,只有app1
可以發送意圖服務的app2
, 並沒有其他應用程序(除非我的簽名被泄露)可以發送意圖 服務上app2
。限制Android廣播接收器從特定的應用程序
我可以對廣播接收機做同樣的事嗎?
- APP1:sendBroadcast(意向,許可)
- APP 2:定義權限,使用權限。
爲了我對使用sendBroadcast(intent,permission)的理解, 應用程序不需要「使用」權限。意思任何應用程序 可以發送意向app2
。這些許可參數僅針對 app2
進行檢查,以避免其他應用程序收到此意圖。 (如果我刪除app2
,並與定義的相同權限字符串 安裝假app2
,假app2
可以從app1
的意圖,這是意想不到的)
順便說一句,如果應用程序定義的權限,並用它本身的 的ProtectionLevel (簽名)似乎沒有意義。這是真的?現在
,我可以設置其他權限:
- APP1:定義權限,使用權限。
- app2:Receiver僅限於該權限。
再次,如果一個刪除app1
,安裝假app1
有非常相同的 權限,則假app1
可以發送僞造的意圖app2
。 我能做些什麼來阻止app2
接收虛假的意圖?
感謝
的標籤還可以定義廣播公司應具有的權限,請參閱http://developer.android.com/guide/topics/manifest/receiver-element.html#prmsn –
2012-03-02 09:33:54