动态权限及利用ContentResolver读取系统的可共享数据
来源:互联网 发布:java set和get意义 编辑:程序博客网 时间:2024/05/16 08:40
动态权限对照的参考如下;开启组中其中一个权限的授权则组内其他授权也会被打开;
//需要在6.0后做动态权限的权限组,其中开启某一权限组中一个则默认开启组中其他权限;;; <!-- CALENDAR--> <uses-permission android:name="android.permission.READ_CALENDAR"/> <uses-permission android:name="android.permission.WRITE_CALENDAR"/> <!-- CAMERA--> <uses-permission android:name="android.permission.CAMERA"/> <!-- CONTACTS--> <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.WRITE_CONTACTS"/> <uses-permission android:name="android.permission.GET_ACCOUNTS"/> <!-- LOCATION--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <!-- PHONE--> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.CALL_PHONE"/> <uses-permission android:name="android.permission.READ_CALL_LOG"/> <uses-permission android:name="android.permission.WRITE_CALL_LOG"/> <uses-permission android:name="android.permission.USE_SIP"/> <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> <!-- SENSORS--> <uses-permission android:name="android.permission.BODY_SENSORS"/> <!-- SMS--> <uses-permission android:name="android.permission.READ_SMS"/> <uses-permission android:name="android.permission.SEND_SMS"/> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <uses-permission android:name="android.permission.RECEIVE_MMS"/> <uses-permission android:name="android.permission.RECEIVE_WAP_PUSH"/> <!-- STORAGE--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
1: 如果在程序的所需权限中有包含如下的权限,则需要使用动态权限来处理,以免会出现异常的情况;
下面的例子:
//相等则已经授权,不相等则没有授权,需要请授权; if(ContextCompat.checkSelfPermission(this,Manifest.permission.READ_CONTACTS ) != PackageManager.PERMISSION_GRANTED) { //请求授权 ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.READ_CONTACTS},1); }else{ //接着做自己的事情 getContacts(); }
2: 授权申请的时候会产生一个回调函数,如下:
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); switch (requestCode){ case 1: if(grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //接着做自己的事情 getContacts(); }else { Toast.makeText(ConProActivity.this, "权限被拒!", Toast.LENGTH_SHORT).show(); } break; } }
下面是利用ContentResolver来获取系统的共享数据资源,电话号,短息,图片等等;
private void getContacts() { ContentResolver contentResolver = getContentResolver(); Cursor cursor = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); if(cursor!=null) { while (cursor.moveToNext()){ int nameIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME); int numIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER); String name = cursor.getString(nameIndex); String num = cursor.getString(numIndex); Toast.makeText(ConProActivity.this, name+", "+num, Toast.LENGTH_SHORT).show(); } cursor.close(); } }
0 0
- 动态权限及利用ContentResolver读取系统的可共享数据
- ContentResolver读取系统联系人数据
- 利用ContentResolver 读取本地视频数据出错
- Android ContentResolver读取手机系统数据<联系人>
- 数据共享ContentProvider,ContentResolver
- Android --- 共享数据 -- ContentResolver
- 安卓实训第十四天---使用ContentProvider共享数据,并且利用ContentResolver监听共享数据
- ContentProvider实现数据共享 ContentResolver来操作暴露的数据
- 数据共享ContentProvider和ContentResolver
- 使用ContentProvider和ContentResolver实现应用程序间的数据共享
- Android ContentProvider与ContentResolver实现应用程序间的数据共享
- ContentProvider+ContentResolver实现应用程序内的数据共享
- ContentProvider+ContentResolver实现应用程序内的数据共享
- 通过ContentResolver调用系统URI实现的读取联系人信息
- 利用ContentProvider和ContentResolver达到QQ换肤以及数据共享查询(暂无内容)
- Android 应用程序之间数据共享—ContentResolver
- Android 应用程序之间数据共享—ContentResolver
- Android 应用程序之间数据共享—ContentResolver
- 常量的五层复用层次
- MyBatis Generator 自动生成Dao、Bean、Mapping相关
- 反键索引/反向索引
- mysql存储过程乱炖
- 计算结构体的大小(对齐)
- 动态权限及利用ContentResolver读取系统的可共享数据
- 完美的解释了BP神经网络,自己要通过算法计算一下
- Unity3D教程:教你如何利用Shader来进行3D角色的渲染 |
- Android仿酷狗音乐自定义侧滑菜单控件简单实现
- 启动tomcat的时候一直卡在INFO: Deploying web application
- javaweb开发之servlet
- 【Darwin学习笔记】之QTSSReflectorModule的Describe消息处理
- js动态控制viewport窗口是否可缩放
- 日期控件--WdatePicker的使用小技能