怎么设置读取联系人权限

为什么日历要求读取联系人的权限?凭什么我拒绝后日历就退出了!_魅蓝note2吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:73,068贴子:
为什么日历要求读取联系人的权限?凭什么我拒绝后日历就退出了!收藏
为什么魅蓝note2的日历要求读取联系人的权限?还不让我删除这个系统App,凭什么决绝读取后日历还不让我正常用了?以下上图:
厉害了,word静静!
可能跟生日有关吧
这个是可以删除掉
所有系统自带的软件不管申请什么权限,只要你不同意!立马退掉!直到你同意为止才能进去
什么凭什么?手机是死的你得顺着它用不同意用不了你怪谁                           “愿你执迷不悟时少受点伤,愿你幡然醒悟时物是人是。”   
系统软件。从了吧
我无所谓了,反正bugme系统也就这样
所有系统自带的软件不管申请什么权限,只要你不同意!立马退掉!直到你同意为止才能进去
楼主你的好了吗?怎么弄的?刚入手魅蓝,求教,可以的话加我球球吧,谢谢
上海工商外国语职业学院针对三校生低分注册200名,
说的对,几乎每一个和联系人定位联网无关的系统软件都需要这些权限,不得不怀疑魅族窃取用户隐私
我是一个三级萌新,我发誓等我水到10级以后就好好回帖,别看我现在5级了,只是懒得改而已
很多系统很多应用都是这样做的其实要那么多权限就是为大数据做准备
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或您需要登录后才可以操作 |
TA的每日心情开心 20:08签到天数: 19 天连续签到: 1 天[LV.4]偶尔看看III
app为啥会有读取手机通讯录的权限功能?
一直很纳闷这个问题,一直想追问原因。考虑到这可能是大众版免费的一个附件条件吧,但毕竟app被驳回了,需要回答应用商店的提问。所以,还是得向官方要个说法,就算是敷衍应用商店也好。还望官方谅解的同时给予耐心的解答。
第一次因为权限被驳回的时候,我就检查了插件。首先插件都是官方的,而且和手机通讯相关的只有uexCALL和uexSMS。我附上在线打宝时插件部分的截图:
19.png (25.1 KB, 下载次数: 6)
12:16 上传
插件中并没有勾选uexContact(联系人功能控件)。
19-2.png (16.96 KB, 下载次数: 9)
12:16 上传
TA的每日心情开心 11:52签到天数: 1 天连续签到: 1 天[LV.1]初来乍到
本帖最后由 candy_one 于
14:08 编辑
是不是安装app的时候,安装过程有个权限的选项,是说的下面这个图吗?
安装时这个权限可以选择禁止,点问号,选禁止。
1.png (151.94 KB, 下载次数: 5)
14:08 上传
TA的每日心情开心 20:08签到天数: 19 天连续签到: 1 天[LV.4]偶尔看看III
是不是安装app的时候,安装过程有个权限的选项,是说的下面这个图吗?
安装时这个权限可以选择禁止,点问号 ...
是这个。安装的时候选禁止,但提交app的时候,应用商店要我解释原因啊
TA的每日心情开心 11:52签到天数: 1 天连续签到: 1 天[LV.1]初来乍到
提交到哪个商店了?被拒绝的理由截图看看。
TA的每日心情开心 20:08签到天数: 19 天连续签到: 1 天[LV.4]偶尔看看III
提交到哪个商店了?被拒绝的理由截图看看。
您好,图来了:
00.png (72.36 KB, 下载次数: 8)
15:36 上传
01.png (62.1 KB, 下载次数: 7)
15:36 上传
还有之前的安智。插件都是一楼里截图的官方的那些插件。
03.png (75.67 KB, 下载次数: 7)
15:36 上传
TA的每日心情开心 10:22签到天数: 1 天连续签到: 1 天[LV.1]初来乍到
您好,图来了:
把你的apk上传上来,我们检查下。
TA的每日心情开心 20:08签到天数: 19 天连续签到: 1 天[LV.4]偶尔看看III
本帖最后由 光辉2010 于
18:56 编辑
把你的apk上传上来,我们检查下。
当前apk就像二楼截图的那样纯净,就是需要访问手机通讯录,我自己也不明白为啥需要访问通讯录。不知道二楼可知道他的app为啥需要访问手机通讯录。
搞不明白的不止这一处,是一楼截图中的哪个插件导致安装时显示有“录音”权限需求呢?
哪里又导致了下图这个听起来很不放心的提醒呢?
03.png (33.51 KB, 下载次数: 10)
17:51 上传
TA的每日心情开心 11:52签到天数: 1 天连续签到: 1 天[LV.1]初来乍到
哦,我这个忘了是哪个安装包了,应该看看你打了哪些插件吧?
还有把apk安装包发给官人看看吧,我也是纳闷呢。。
TA的每日心情开心 20:08签到天数: 19 天连续签到: 1 天[LV.4]偶尔看看III
哦,我这个忘了是哪个安装包了,应该看看你打了哪些插件吧?
还有把apk安装包发给官人看看吧,我也是纳闷呢 ...
感谢回复!app发给官方了,也解决了。现在官方也修改了电话和短信的权限。
TA的每日心情开心 17:52签到天数: 127 天连续签到: 1 天[LV.7]常住居民III
感谢回复!app发给官方了,也解决了。现在官方也修改了电话和短信的权限。 ...
AppCan官方微信22857人阅读
Android(12)
Android中通讯录使用ContentProvider实现
Android中通讯录界面是使用一个App
存储内容使用的是另一个App
需要的权限:
&uses-permission android:name=&android.permission.READ_CONTACTS&/&&!-- 读取通讯录权限 --&
&uses-permission android:name=&android.permission.WRITE_CONTACTS&/&&!-- 写入通讯录权限 --&
还有junit单元测试的权限等配置,这里不写了。
单元测试类:
package com.example.
import java.util.ArrayL
import android.content.ContentProviderO
import android.content.ContentR
import android.content.ContentU
import android.content.ContentV
import android.database.C
import android.net.U
import android.test.AndroidTestC
import android.util.L
public class ContactsTest extends AndroidTestCase {
private static final String TAG = &ContactsTest&;
* 获取联系人
public void testGetContacts(){
Uri uri = Uri.parse(&content://com.android.contacts/contacts&); // 访问所有联系人
ContentResolver resolver = getContext().getContentResolver();
Cursor cursor = resolver.query(uri, new String[]{&_id&}, null, null, null);
while(cursor.moveToNext()){
int contactsId = cursor.getInt(0);
StringBuilder sb = new StringBuilder(&contactsId=&);
sb.append(contactsId);
uri = Uri.parse(&content://com.android.contacts/contacts/& + contactsId + &/data&); //某个联系人下面的所有数据
Cursor dataCursor = resolver.query(uri, new String[]{&mimetype&, &data1&, &data2&}, null, null, null);
while(dataCursor.moveToNext()){
String data = dataCursor.getString(dataCursor.getColumnIndex(&data1&));
String type = dataCursor.getString(dataCursor.getColumnIndex(&mimetype&));
if(&vnd.android.cursor.item/name&.equals(type)){ // 如果他的mimetype类型是name
sb.append(&, name=& + data);
} else if(&vnd.android.cursor.item/email_v2&.equals(type)){ // 如果他的mimetype类型是email
sb.append(&, email=& + data);
} else if(&vnd.android.cursor.item/phone_v2&.equals(type)){ // 如果他的mimetype类型是phone
sb.append(&, phone=& + data);
Log.i(TAG, sb.toString());
* 根据来电号码获取联系人名字
public void testGetContactsByNumber(){
String number = &&;
Uri uri = Uri.parse(&content://com.android.contacts/data/phones/filter/& + number);
ContentResolver resolver = getContext().getContentResolver();
Cursor cursor = resolver.query(uri, new String[]{&display_name&}, null, null, null);
if(cursor.moveToFirst()){
String name = cursor.getString(0);
Log.i(TAG, name);
* 添加联系人
* 数据一个表一个表的添加,每次都调用insert方法
public void testAddContacts(){
/* 往 raw_contacts 中添加数据,并获取添加的id号*/
Uri uri = Uri.parse(&content://com.android.contacts/raw_contacts&);
ContentResolver resolver = getContext().getContentResolver();
ContentValues values = new ContentValues();
long contactId = ContentUris.parseId(resolver.insert(uri, values));
/* 往 data 中添加数据(要根据前面获取的id号) */
// 添加姓名
uri = Uri.parse(&content://com.android.contacts/data&);
values.put(&raw_contact_id&, contactId);
values.put(&mimetype&, &vnd.android.cursor.item/name&);
values.put(&data2&, &周国平&);
resolver.insert(uri, values);
// 添加电话
values.clear();
values.put(&raw_contact_id&, contactId);
values.put(&mimetype&, &vnd.android.cursor.item/phone_v2&);
values.put(&data2&, &2&);
values.put(&data1&, &&);
resolver.insert(uri, values);
// 添加Email
values.clear();
values.put(&raw_contact_id&, contactId);
values.put(&mimetype&, &vnd.android.cursor.item/email_v2&);
values.put(&data2&, &2&);
values.put(&data1&, &&);
resolver.insert(uri, values);
* 添加联系人
* 在同一个事务中完成联系人各项数据的添加
* 使用ArrayList&ContentProviderOperation&,把每步操作放在它的对象中执行
public void testAddContacts2(){
Uri uri = Uri.parse(&content://com.android.contacts/raw_contacts&);
ContentResolver resolver = getContext().getContentResolver();
// 第一个参数:内容提供者的主机名
// 第二个参数:要执行的操作
ArrayList&ContentProviderOperation& operations = new ArrayList&ContentProviderOperation&();
// 操作1.添加Google账号,这里值为null,表示不添加
ContentProviderOperation operation = ContentProviderOperation.newInsert(uri)
.withValue(&account_name&, null)// account_name:Google账号
// 操作2.添加data表中name字段
uri = Uri.parse(&content://com.android.contacts/data&);
ContentProviderOperation operation2 = ContentProviderOperation.newInsert(uri)
// 第二个参数int previousResult:表示上一个操作的位于operations的第0个索引,
// 所以能够将上一个操作返回的raw_contact_id作为该方法的参数
.withValueBackReference(&raw_contact_id&, 0)
.withValue(&mimetype&, &vnd.android.cursor.item/name&)
.withValue(&data2&, &周国平&)
// 操作3.添加data表中phone字段
uri = Uri.parse(&content://com.android.contacts/data&);
ContentProviderOperation operation3 = ContentProviderOperation.newInsert(uri)
.withValueBackReference(&raw_contact_id&, 0)
.withValue(&mimetype&, &vnd.android.cursor.item/phone_v2&)
.withValue(&data2&, &2&)
.withValue(&data1&, &&)
// 操作4.添加data表中的Email字段
uri = Uri.parse(&content://com.android.contacts/data&);
ContentProviderOperation operation4 = ContentProviderOperation
.newInsert(uri).withValueBackReference(&raw_contact_id&, 0)
.withValue(&mimetype&, &vnd.android.cursor.item/email_v2&)
.withValue(&data2&, &2&)
.withValue(&data1&, &&).build();
operations.add(operation);
operations.add(operation2);
operations.add(operation3);
operations.add(operation4);
resolver.applyBatch(&com.android.contacts&, operations);
} catch (Exception e) {
e.printStackTrace();
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:46901次
排名:千里之外
原创:38篇
转载:13篇
(5)(3)(12)(1)(1)(1)(2)(1)(1)(7)(13)(2)(2)更多数码资讯,请关注南窗数码
“华为通讯录”相关经验

我要回帖

更多关于 vivo联系人读取权限 的文章

 

随机推荐