在功能清单中的permission的使用,可以进行自定义权限,给四大组件添加必要的权限。当使用隐式intent进行跨应用进行调用的时候提高安全程度。
比如在app1中的功能清单中
1.进行声明权限
设定权限,注意要添加category,否则隐式的intent的不能进行接受。
2.在app2中进行启动app1中的activity。发送隐式的intent。
在功能清单中要进行添加权限,具体的权限写法就是使用user-permission,不能使用使用permission的形式。
3.对于protectionLevel的理解
normal:这是最低风险的权限,如果应用声明了此权限,也不会提示安装应用的用户授权(例如,如果声明了定位权限,则应用到定位功能时,会明确提示用户,是否授予定位权限,但是protectionLevel为normal的不会明确提示,直接默认授予),系统直接默认该应用有此权限;
dangerous:这种级别的权限风险更高,拥有此权限可能会访问用户私人数据或者控制设备,给用户带来负面影响,这种类型的权限一般不会默认授权(但是我测了好多次,有时候还是会默认授权);
signature:这种权限级别,只有当发请求的应用和接收此请求的应用使用同一签名文件,并且声明了该权限才会授权,并且是默认授权,不会提示用户授权
signatureOrSystem:这种权限应该尽量避免使用,偏向系统级
对于normal或者dangerous级别的权限,我们自己的应用需要去访问其对应受保护的资源时只需要在androidManifest.xml中添加相同的uses-permission就行了。对于signature级别的除了声明权限,还要有相同的签名