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