android 权限定义的文件,位置
只有编译完之后,才会出现这个文件,是自动生成的。
out/target/common/R/android/Manifest.java
/frameworks/base/core/res/AndroidManifest.xml 权限的定义在这个文件。
如果改变注释<!-- Allows an application to access coarse (e.g., Cell-ID, WiFi) location xiayu-->
重新mmm ,则out/target/common/R/android/Manifest.java,中的相应注释也会改变。
/frameworks/base/telephony/java/com/android/internal/telephony/PhoneSubInfo.java 获取手机的制造商,id信息。每读一个内容,都要检测权限。
public String getDeviceId() {
mContext.enforceCallingOrSelfPermission(READ_PHONE_STATE, "Requires READ_PHONE_STATE");
return mPhone.getDeviceId();
}
读电话本权限,流程图
./frameworks/base/telephony/java/com/android/internal/telephony/IccProvider.java
./frameworks/base/telephony/java/com/android/internal/telephony/IccPhoneBookInterfaceManager.java
query --> loadFromEf --> getAdnRecordsInEf --> (phone.getContext().checkCallingOrSelfPermission
frameworks/base/services/java/com/android/server/pm/PackageManagerService.java 会把pack中权限读进变量
4320 if (allowed) {4321 if (!gp.grantedPermissions.contains(perm)) {
4322 changedPermission = true;
4323 gp.grantedPermissions.add(perm);
4324 gp.gids = appendInts(gp.gids, bp.gids);
4325 } else if (!ps.haveGids) {
4326 gp.gids = appendInts(gp.gids, bp.gids);
4327 }
4328 } else {
更多相关文章
- android APP 获得system权限
- Android Studio中src/main/res/values中strings.xml文件中字符串
- Android之SDK、NDK、JNI和so文件
- android通过chmod命令实现文件权限修改
- Android心得3.2--用SAX解析器解析xml文件内容
- Android 用style简化layout布局文件
- 【android】下载大文件保持wifi网络连接
- android 布局文件中控件ID、name标签属性的命名包含“@”、“.”