每一个应用都运行在本身的砂箱中,而且具备不一样的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
。