Android获取通讯录权限6.0及以上
很多人和我一样被官网的
ActivityCompat.checkSelfPermission(context, Manifest.permission."XXX XXX XXX")== PackageManager.PERMISSION_GRANTED;获取权限功能忽悠了。这个对于某些权限不适应,比如获取通讯录读写权限等等。这里给出我自己的获取权限方法,很好用的。话不多说直接上代码: /*** 判断是否拥有联系人读取权限** @param context* @return* XXX代表权限字符串,比如 READ_CONTACTS 通讯录读取权限*/ public static boolean havaReadContacts(Context context,String xxx) {boolean have = false;ActivityCompat.checkSelfPermission(context, Manifest.permission.xxx);if (Build.VERSION.SDK_INT >= 23) {AppOpsManager appOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);int checkOp = appOpsManager.checkOp(AppOpsManager.OPSTR_READ_CONTACTS, android.os.Process.myUid(), context.getPackageName());LogUtil.e(TAG, "checkOp:" + checkOp);switch (checkOp) {case AppOpsManager.MODE_ALLOWED:LogUtil.e(TAG, "AppOpsManager.MODE_ALLOWED :有权限");have = true;break;case AppOpsManager.MODE_IGNORED:LogUtil.e(TAG, "AppOpsManager.MODE_IGNORED:被禁止了");have = false;break;case AppOpsManager.MODE_DEFAULT:LogUtil.e(TAG, "AppOpsManager.MODE_DEFAULT");break;case AppOpsManager.MODE_ERRORED:LogUtil.e(TAG, "AppOpsManager.MODE_ERRORED:出错了");have = false;break;case 4:LogUtil.e(TAG, "AppOpsManager.OTHER:权限需要询问");have = false;break;}} else {have = ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_CONTACTS)== PackageManager.PERMISSION_GRANTED;}return have; }
Android获取通讯录权限6.0及以上相关推荐
- Android获取通讯录信息
Android获取通讯录信息 欢迎关注本人网站:rytter的私人博客网站 权限申请 自Android6.0以后,Android权限申请全部要求为动态申请(注:通讯录权限为危险权限),权限申请方法如下 ...
- Android 获取通讯录联系人,打开通讯录获取联系人信息;整个流程封装在基类中;
打开原生通讯录获取联系人姓名和手机号 1.获取通讯录权限: <!--访问通讯录--><uses-permission android:name="android.permi ...
- Android获取Root权限
对于新近入手Android系统手机的机友来说,一定会接触到一个新词"ROOT",他的出现频率很高,在各个论坛上,网友的字里行间经常会出现,那么获取Root权限呢? [b]工具/原料 ...
- android6.0获取通讯录权限
android6.0中,获取通讯录的权限是 <uses-permission android:name="android.permission.GET_ACCOUNTS&quo ...
- android 获取手机号码 权限,Android跳转到通讯录获取用户名称和手机号码
思路: 1.点击跳转到通讯录界面 ` Uri uri = Uri.parse("content://contacts/people"); Intent intent = new I ...
- android获取通讯录的权限错误
写个获取通讯录信息的小东东,运行发现权限出错,于是在AndroidManifest.xml加了权限,结果还是权限出错,郁闷了半天... 解决办法:再Permissions里手动添加就不会了...
- android动态获取地理位置权限,Android6.0获取GPS定位和获取位置权限和位置信息的方法...
1.添加权限--6.0之后要动态获取,下面会说 2.直接上代码,不多说,代码中注释很详细. private static final int BAIDU_READ_PHONE_STATE = 100; ...
- android 4.0 打开gps,Android获取定位权限,手动打开GPS
获取定位权限,并且在没有打开GPS的时候引导用户打开手机GPS定位. 超级简单的 private Button button; private int GPS_REQUEST_CODE = 1; @O ...
- android 获取通讯录全选反选_Xamarin.Forms读取并展示Android和iOS通讯录 TerminalMACS客户端...
本文同步更新地址: https://dotnet9.com/11520.html https://terminalmacs.com/861.html 阅读导航: 一.功能说明 二.代码实现 三.源码获 ...
最新文章
- 清除vs2003-vs2008起始页最近打开项目
- 【MySQL】玩转定时器
- 训练机器人看脸读“心”,真的靠谱吗?
- ios10前台收到推送_IOS - 前台时的推送弹窗效果
- Bailian2944 单词替换【字符串流】
- 牛客小白月赛6 A 鲲
- Java中文乱码解决方式
- Gradle下载官方地址
- 这个网站堪称宝藏,收藏起来吧
- 【119天】尚学堂高琪Java300集视频精华笔记(24-30)
- mysql 内联注释_TSRC挑战赛:WAF之SQL注入防御思路分享
- This is probably not a problem with npm. There is likely additional logging output above.
- EXCEL应用:数据可视化终极教程
- SpringBoot+OAuth2+JWT实现单点登录SSO完整教程,竟如此简单优雅!
- win10桌面计算机在哪里打开,Win10计算器在哪里?三种可以打开Win10计算器的方法图文介绍...
- 3*3 数字拼图(去除无解的随机组合)
- CV深度学习项目调试开发过程中报错记录【持续更新】
- 2021年成都列五高中高考成绩查询,2021年成都高考各高中成绩及本科升学率数据排名及分析...
- mysql 人名用什么类型_MySQL 基础(二)
- 为什么需要运营商级NAT设备?