动态申请权限---通讯录 及获取通讯录列表
private static String[] PERMISSIONS_STORAGE = {//动态申请权限列表
// "android.permission.WRITE_CONTACTS","android.permission.READ_CONTACTS"};//读通讯录权限的权限名private PermissionListener mListener;
private void getReadPhone() {if (Build.VERSION.SDK_INT >= 23) {//判断当前系统是不是Android6.0requestRuntimePermissions(PERMISSIONS_STORAGE, new PermissionListener() {@Overridepublic void granted() {Log.e("读通讯录权限申请", "已通过");
// GetNumber.getNumber(SplashActivity.this);}@Overridepublic void denied(List<String> deniedList) {//权限申请未通过Log.e("读通讯录权限申请", "已拒绝");}});}}/*** 申请权限*/public void requestRuntimePermissions(String[] permissions, PermissionListener listener) {mListener = listener;List<String> permissionList = new ArrayList<>();// 遍历每一个申请的权限,把没有通过的权限放在集合中for (String permission : permissions) {if (ContextCompat.checkSelfPermission(MainActivity.this, permission) !=PackageManager.PERMISSION_GRANTED) {permissionList.add(permission);} else {mListener.granted();}}// 申请权限if (!permissionList.isEmpty()) {ActivityCompat.requestPermissions(MainActivity.this,permissionList.toArray(new String[permissionList.size()]), 1);}}
上面是获取通讯录权限,下面是获取通讯录列表:
public class GetNumber {public static List<PhoneInfo> lists = new ArrayList<PhoneInfo>();public static String getNumber(Context context) {if (lists != null)lists.clear();try {Cursor cursor = context.getContentResolver().query(Phone.CONTENT_URI, null, null, null, null);String phoneNumber;String phoneName;while (cursor.moveToNext()) {phoneNumber = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));//电话号码phoneName = cursor.getString(cursor.getColumnIndex(Phone.DISPLAY_NAME));//姓名PhoneInfo info = new PhoneInfo(phoneName, phoneNumber.trim().replace("+", ""));lists.add(info);}} catch (Exception e) {e.printStackTrace();}return null;}
}
动态申请权限---通讯录 及获取通讯录列表相关推荐
- 企业微信_通讯录管理,获取部门列表部门成员及详情
企业微信H5_通讯录管理,获取部门列表部门成员及详情 文章目录 一.POSTMAN调试 1. 获取access_token 2. 获取部门列表 3. 获取部门成员 4. 获取部门成员详情 5. 获取成 ...
- Android 6.0及以上版本动态申请权限,11权限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {//安卓11文件权限// 先判断有没有权限if (Environment.isExter ...
- android插件做动态权限,Mui本地打包笔记(四)Android自定义插件的配置(以动态申请权限为例)...
通过自定义插件方式实现Android平台的动态申请权限功能 在上一章中完成了在Mui中调用Android原生的动态权限请求功能(Android动态申请权限的问题).虽然说完成了功能,但是在使用上并不是 ...
- android6.0读写权限要在动态申请权限
一.读写文件的时候要获取权限 1.在AndroidManifest.xml中声明权限 <uses-permission android:name="android.permission ...
- Android如何动态申请权限(打电话)
Android动态申请权限(打电话) android 高版本有些权限除了在manifest文件中静态添加,还需要动态请求 具体请求方法如下(以拨打电话为例): 方法1: 这种方法是直接呼出电话 在ma ...
- Android系统版本在6.0+以上需要动态申请权限
在Androidmanifest.xml里申请过还不够,还需要在Mainactivity里动态申请.调试时报错有2种,不能创建父目录和连接超时.好用的框架有com.github.dfqin:grant ...
- Unity2019中的android动态申请权限(Permissions)
请使用最新文章: Unity2022中的android权限处理(Permissions) 动态权限,权限弹窗 注意事项: 1.因为新规等因素需要提前弹出游戏自己的权限描述界面 2.玩家连续多次拒绝权限 ...
- Android权限申请之动态申请权限
先上图: 对于一些危险权限在AndroidManifest清单文件中申请之后,还需要得到用户的许可并打开,才算是真正的开启了这个权限.所以可以使用动态申请权限,对于某个功能,如果需要开启某个权限,在用 ...
- Android权限适配,动态申请权限
关于原生权限管理AppOps AppOps虽然涵盖了App的权限管理,但是Google原生的设计并不仅仅是对"权限"的管理,而是对App的"动作"的管理.我们平 ...
最新文章
- 保护 ASP.NET Web 部件页面
- android系统账户管理(AccountManagerService+AccountAuthenticator)
- 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记...
- 设计灵感|展览海报如何编排?
- python中weekday_[转载] Python日历模块| 使用示例的weekday()方法
- 注册ActiveX控件 未在此计算机上注册ActiveX控件!!!
- 电子凸轮设计之数学基础设计
- Python 爬虫批量爬取网页图片保存到本地
- 【Java】蓝桥杯历届试题PREV(一)
- 黑客是什么?揭开郭盛华的神秘面纱,讲解他不为人知传奇故事
- 一年增加1.2w星,它能否引领中间件的未来?
- 呕心沥血写了三天3两夜24k字的MySQL详细教程
- IDEA 使用破解补丁激活
- python 月初 月末
- Encoded password does not look like BCrypt 使用SpringSecurity中BCryptPasswordEncoder做盐值加密时出现错误
- uniapp App跳转微信小程序并互相传递参数、接收微信小程序传递的参数
- 什么是序列化与反序列化
- 打印_battery_status.scale
- 虹科小课堂|密度测量,你了解多少?
- 小伙伴们都惊呆了!玩转raid10