場景:android4.2 在使用到 ContentProvider 的時候遇到的問題,報錯: Permission Denial: opening provider uid=10033) .... that is not exported from uid 10036 android
在AndroidManifest.xml 中 android:exported 屬性,這個屬性用於指示該服務是否能被其餘程序應用組件調用或跟他交互; 取值爲(true | false),若是設置成true,則可以被調用或交互,不然不能;設置爲false時,只有同一個應用程序的組件或帶有相同用戶ID的應用程序才能啓動或綁定該服務。ide
重:它的默認值是依賴於該服務所包含的過濾器ui
(1)若是沒有過濾器則意味着該服務只能經過指定明確的類名來調用,也就是說該服務只能在應用程序內部使用(由於其餘外部使用者不會知道該服務的類名),此時它的默認值是falsespa
(2)若是至少包含了一個過濾器,則意味着該服務能夠給外部的其餘應用提供服務,所以默認值是true。xml
附: 這個屬性不是限制把服務暴露給其餘應用程序的惟一方法。還能夠使用權限來限制可以跟該服務交互的外部實體io