当Android targetSdkVersion小于23时如何检查权限
来源:互联网 发布:怎么监控sqlite数据库 编辑:程序博客网 时间:2024/06/01 10:07
问题:
在Android M(API 23)及更高版本机器上运行targetSdkVersion < 23的应用时,当调用checkSelfPermission,返回值始终为PERMISSION_GRANTED,即使用户关闭了该权限,返回值还是PERMISSION_GRANTED。
解决办法:
1、获取应用的 targetSdkVersion 值
PackageInfo info = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(),0);
targetSdkVersion = info.applicationInfo.targetSdkVersion;
2、当targetSdkVersion >= 23时,用mContext.checkSelfPermission检查权限;
当targetSdkVersion < 23时,用PermissionChecker.checkSelfPermission检查权限
PermissionChecker.checkSelfPermission(mContext,permission)
注意:要想正常使用PermissionChecker.checkSelfPermission方法,必需依赖support v4包中的:support-core-utils-25.1.0和support-compat-25.1.0,版本号25.1.0及以上都可以,25.1.0以下会出现Do not find class AppOpsManagerCompat23的错误。
- 当Android targetSdkVersion小于23时如何检查权限
- Android如何选择targetSDKVersion
- Android targetSdkVersion 原理 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion
- targetSdkVersion 23以下添加Android6.0权限
- 6.0运行时权限与targetSdkVersion选择
- Android项目该如何选择targetSdkVersion
- Android 6.0 运行时权限检查机制
- Android — 运行时权限检查
- Android 6.0 运行时权限检查分析
- Android 6.0 运行时权限检查分析
- Android检查权限
- Android检查权限
- Android检查权限
- Android权限检查
- android检查权限问题。
- android 相机权限检查
- android 申请、检查权限
- Android 权限检查EasyPermissions
- atcoder Moderate Differences(数学)
- C# 解析XML
- Buff学习
- sql server中联合两个表update数据
- 目录操作
- 当Android targetSdkVersion小于23时如何检查权限
- 字符串相关练习题目
- 反射
- javascript语言精粹(继承)
- JAVA设计模式之单例模式
- JVM原理和优化
- 订单支付成功,检测本地数据库是否同步,定时查看本地订单状态
- crontab+rman定期删除Oracle测试库的归档日志
- Java获取 ISO 8601格式时间