系統權限

地址:https://developer.android.com/guide/topics/security/permissions.htmlhtml

要執行本身的權限,首先要在manifest文件中申明,使用<permission>標籤android

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   
package="com.me.app.myapp" >
   
<permission android:name="com.me.app.myapp.permission.DEADLY_ACTIVITY"
       
android:label="@string/permlab_deadlyActivity"
       
android:description="@string/permdesc_deadlyActivity"
       
android:permissionGroup="android.permission-group.COST_MONEY"
       
android:protectionLevel="dangerous" />
    ...
</manifest>

protectionLevel  權限級別app

normal:低風險權限,只要申明就能夠使用,安裝時不用用戶確認ide

dangerous:高風險權限,安裝時須要用戶確認ui

signature:只有當申請權限的用用的數字簽名已申明此權限的應用的簽名相同,才能將權限授予他spa

signatureOrSystem:簽名相同,或申請權限的應用爲系統應用code

permissionGroup 
orm

這個屬性是可選的,用於幫助系統展現權限給用戶。一般是設置爲標準的系統組android.Manifest.permission_group xml

android:label和android:description的文字會展現在權限列表和詳情中。htm

全部的組件都有android:permission屬性,命名這個權限用於訪問他們。

Activity權限,用於限制誰可以啓動相關聯的Activity,這個權限會在Content.startActivity()和Activity.startActivityForResult()時候檢查。若是調用者沒有權限就會報SecurityException異常。

Service權限,限制啓動和綁定的服務,在Context.startService(),Context.stopService(),Context.bindService的時候檢查

BroadcastReceiver權限,限制誰可以發送廣播道相關的接受者。這個權限會在Context.sendBroadcast()返回後檢查,失敗後並不會拋出異常給調用者。

ContentProvider權限,限制訪問數據,在執行ContentResolver.query(),ContentResolver.insert(),ContentResolver.update(),ContentResolver.delete()會請求相關權限。

相關文章
相關標籤/搜索