每一個應用都運行在本身的砂箱中,而且具備不一樣的UserId和進程。android
xml<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.app.myapp" > <uses-permission android:name="android.permission.RECEIVE_SMS" /> ... </manifest>
<permission>
tag首先聲明。如:<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>
其中description
是對該權限的解釋,將在用戶安裝App時顯示。permissionGroup
是表示該權限所屬組,如本例中的消費金錢。protectionLevel
是方便Android在安裝時以何種方式通知用戶,本例爲危險,由於須要花錢。
可使用Settings App查看個App的應用權限,或者使用cmdadb shell pm list permissions -s
shell
Intent.FLAG_GRANT_READ_URI_PERMISSION
和或者Intent.FLAG_GRANT_WRITE_URI_PERMISSION
。