Android permission屬於Android的安全層面的東西 使用此方法,能夠保護你的content provider,保護你的數據!html
permission的定義解釋見: http://developer.android.com/guide/topics/manifest/permission-element.htmlandroid
系統全部的permission定義在這裏:\data\system\packages.xml ,能夠查看每一個permission的保護級別shell
permission的定義通常在Androidmanifest.xml安全
<!-- lang: xml --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.design.hello" android:versionCode="1"> <!-- permisiion的定義 ,以下signature 表示須要發起方是用一樣證書籤名的--> <permission xmlns:android="http://schemas.android.com/apk/res/android" android:name="com.design.permission.USE_HONG_STACK" android:protectionLevel="signature" /> <!-- permisiion的使用 , 表示發起方必需要有此permission才行--> <receiver android:name="HelloReceiver" android:permission="com.design.permission.USE_HONG_STACK"> <intent-filter> <action android:name="com.android.design.NOTIFY" /> </intent-filter>
</receiver> </manifest> ide
MediaProvider的例子:ui
<!-- lang: xml --> <provider android:name="MediaProvider" android:authorities="media" android:multiprocess="false" android:exported="true"> <grant-uri-permission android:pathPrefix="/external/" /> <path-permission android:pathPrefix="/external/" android:readPermission="android.permission.READ_EXTERNAL_STORAGE" android:writePermission="android.permission.WRITE_EXTERNAL_STORAGE" /> </provider>
\system\etc\permissions\platform.xml 給meida, shell等系統組件預指定permissioncode