首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在HTC10上使用contentResolver检索安卓联系人不返回任何结果

可能是由于以下几个原因导致的:

  1. 权限问题:在Android系统中,访问联系人需要获取READ_CONTACTS权限。请确保在应用的AndroidManifest.xml文件中添加了以下权限声明:<uses-permission android:name="android.permission.READ_CONTACTS" />另外,还需要在运行时动态请求权限,以确保用户授权了该权限。
  2. 查询条件错误:使用contentResolver进行联系人检索时,需要指定正确的查询条件。通常情况下,可以使用ContactsContract.Contacts.CONTENT_URI作为查询的URI,然后使用ContentResolver.query()方法执行查询操作。例如:Uri uri = ContactsContract.Contacts.CONTENT_URI; String[] projection = {ContactsContract.Contacts.DISPLAY_NAME}; String selection = null; String[] selectionArgs = null; String sortOrder = null; Cursor cursor = getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder);上述代码将返回所有联系人的显示名称。
  3. HTC10特定问题:由于不同的设备厂商可能对Android系统进行了定制和优化,因此在某些特定设备上可能存在一些兼容性问题。在HTC10上遇到联系人检索不返回结果的问题,可能是由于设备自身的限制或问题导致的。建议尝试在其他设备上进行相同的操作,以确定是否是HTC10特定的问题。

总结:

在HTC10上使用contentResolver检索安卓联系人不返回任何结果可能是由于权限问题、查询条件错误或设备特定问题导致的。请确保已经获取了读取联系人的权限,并使用正确的查询条件进行操作。如果问题仍然存在,建议尝试在其他设备上进行相同的操作,以确定是否是HTC10特定的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2-AIV--使用ContentProvider查询联系人

顾名思义,内容提供者,目的:实现跨进程间数据共享 [2].基于数据库提供数据 [3].如电话簿,短信,歌曲信息都是以数据库存储存储,都可以通过ContentProvider获取 [4].不太熟悉运行时权限的童鞋可以看一下我封装的权限申请类...: TI--运行时权限完美封装 [5].如果只是想使用的人,直接把静态方法拷贝即可,想知道原理的,图片和注释认真看一下,也可以自己分析一下联系人的表。...下,根据contact_id查询data表字段, 然后判断mimetype的值,新建实体类,将数据设置到实体中, 将实体放入实体集合,查完返回集合。...:权限: 注意:查询数据库是耗时操作,为了阻塞主线程,最好新建个线程操作...MainActivity.this); System.out.println(contact.get(0)); } }).start(); 本文由张风捷特烈原创,转载请注明 更多技术欢迎访问

52110

1-AIV--使用ContentProvider获取短信

顾名思义,内容提供者,目的:实现跨进程间数据共享 [2].基于数据库提供数据 [3].如电话簿,短信,歌曲信息都是以数据库存储存储,都可以通过ContentProvider获取 [4].不太熟悉运行时权限的童鞋可以看一下我封装的权限申请类...: TI--运行时权限完美封装 [5].如果只是想使用的人,直接把静态方法拷贝。...*/ public class SMSBean { /** * 短信发送方 */ public String address; /** * 号码通讯录中的姓名...:权限: 注意:查询数据库是耗时操作,为了阻塞主线程,最好新建个线程操作...短信.png 本文由张风捷特烈原创,转载请注明 更多技术欢迎访问:https://www.jianshu.com/c/004f3fe34c94 张风捷特烈个人网站,编程笔记请访问:http:/

77620

开发之数据共享

一、数据共享作用 当我们需要把应用程序的数据共享给其他应用程序(当然有的可能会混淆SharedPreferences)这个时候需要用到开发中另外的一个组件(ContentProvider),这样的组件是不论程序是否启动...而SharePreferences需要授权才能读写 二、配合组件ContentResolver ContentProvider提供了接口可以访问或者修改数据,而其他应用可以使用ContentResolver...提供不同的访问来请求指定数据 三、如何提供ContentProvider 1、定义一个ContentProvider继承ContentProvider 2、AndroidManifest.xml文件注册...(需要android:anthorities属性) 四、使用ContentProvider 1、介绍Uri 1.1、访问Uri比如:content://study.provider/book(这里的...book是请求对象是可以改变的,content是固定格式,中间部分是那个注册ContentProvider时候的那个authority属性值) 2、使用ContentResolver操作数据 2.1常见方法

1.5K60

Android中ContentProvider的用法

Android中,如果要将一个程序的数据共享给另一个程序,之前的Android版本,我们可以设置Android文件和SharedPreferences操作的两个模式:MODE_WORLD_READABLE...和数据库操作不同的是,ContentResolver类的这些操作都不是通过数据库表名进行的,而是通过传入ContentProvider共享数据的Uri(统一资源标识符,通过它可以找到任何文件所处的位置)...String sortOrder) 第一个参数是要查询的数据所在数据表的Uri,第二个参数是要查询的具体列的信息,第三第四个参数是要查询的数据满足的条件, 第五个参数是查询结果的排序方式...(R.menu.main, menu); return true; } } MainActivity.java主要做一件事:自定义一个方showContacts() 用于获取联系人信息并且显示...ListView控件中,这个方法中 首先调用了ContentResolver类的query方法并且传入储存联系人信息那张数据表的Uri,用于查询联系人信息那张数据表的数据,之后对查询的返回结果Cursor

2K10

3-AIV--使用ContentProvider获得所有图片路径

顾名思义,内容提供者,目的:实现跨进程间数据共享 [2].基于数据库提供数据 [3].如电话簿,短信,歌曲信息都是以数据库存储存储,都可以通过ContentProvider获取 [4].如果只是想使用的人...,直接把静态方法拷贝即可,想知道原理的,图片和注释认真看一下,也可以自己分析一下联系人的表。...media/external/images/media Uri mIngUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; ContentResolver...: 注意:查询数据库是耗时操作,为了阻塞主线程,最好新建个线程操作 new Thread(new Runnable() { @Override public void run()...图片.png 本文由张风捷特烈原创,转载请注明 更多技术欢迎访问:https://www.jianshu.com/c/004f3fe34c94 张风捷特烈个人网站,编程笔记请访问:http:/

1.5K20

开发_深入理解Content Provider

ID字段,用于表中唯一标识该记录 ID字段前包含一个下划线_ ,这是必须有的,不能不写 三、URI 1、  每个Content Provider提供公共的URI(使用URI类包装)来唯一标识其数据集...2、  URI常量用于所有与Content Provider的交互,每个Content Provider方法都是用URI作为方法的第一个参数,这个参数(URI)用来标识ContentResolver应该使用...则可省略该部分、如果提供多种类型,则由多部分组成 (4)/010 :被请求的特定记录的ID ,如果请求的记录不限于单条记录(比如查询全部字段),该部分不用写 四、预定义Content Provider 1、  系统提供了很多预定义的...,可以URI结尾添加要操作记录的ID, Content://…./003 实现该功能可以使用静态方法ContentUris.withAppendedId(),返回值为一个增加了ID的URI对象 获得数据用...Cursor对象处理,它能向前或向后遍历整个查询结果集。

67040

跨程序共享数据——Content Provider 之 ContentResolver基本用法 & 一个读取系统联系人的Demo

那么接下来我们就一个一个开始学习吧,首先从使用现有的内容提供器开始。 如果一个应用程序通过内容提供器对其数据提供了外部访问接口,那么任何其他的应用程序就都可以对这部分数据进行访问。...没错,SQLiteDatabase中也是使用这几个方法来进行CRUD操作的,只不过它们方法参数上稍微有一些区别。...内容URI 不同于SQLiteDatabase,ContentResolver中的增删改查方法都是接收表名参数的,而是使用一个Uri参数代替,这个参数被称为内容URI。...可以看到一开始电话簿里是没有任何联系人的,下面进行创建: ? ? ? 那个,联系人名字就,高傲牛肉方便面、中原一点红、香辣火腿肠,咳咳。。。 ? ? <?...运行结果: ?

1.2K20

Android开发笔记(五十四)数据共享接口ContentProvider

Content组件中能够用到的场合,基本是APP想要使用系统的手机通讯数据,比如查看联系人/短信/彩信/通话记录,以及对这些通讯信息进行增删改。...前面说过,ContentResolver可以由客户端用来给服务端添加数据,不过有时候某种数据服务端对应的是多张表,比如说联系人信息服务端实际有联系人姓名表、联系人电话表(因为有家庭电话、工作电话之分...下面是两种插入方式添加联系人信息中的具体运用: ContentResolver方式 代码示例如下: public static void addContacts(ContentResolver...下面是ContentResolver对象中使用ContentObserver的相关方法: registerContentObserver : 注册内容观察者。...下面是两种监听方式监听短信接收中的具体运用,监听结果消息使用了Notification推送到消息栏,有关Notification的使用说明参见《Android开发笔记(五十二)通知推送Notification

1.4K20

Android学习--跨程序共享数据之内容提供其探究

,同时还能保证被访问的数据的安全性,目前使用内容提供器是Android实现跨程序共享数据的标准方式。...      不同于SQLiteDatabase,ContentResolver的CRUD的操作是接收表名参数的,而是使用一个Uri参数表示。...我们读取一下联系人 ----       我们这里写一个小demo,来读取一下联系人的信息,然后把它展示一个ListView当中,具体的代码如下: public class ContactsActivity...,返回false表示失败,注意的是只有当ContentResolver尝试访问我们的数据库的时候内容提供器才会被初始化       query()       从内容提供器中查询数据,使用uri参数来确定查询哪张表...,具体的参数我们就不在说了,前面我们已经说过,查询的具体的结果就在cursor对象中存放返回       insert()       添加数据我们也就不再说了,成功之后会返回一个用于表示这条记录的URI

58130

第三夜 概念漫游(

卓里,眼花缭乱的应用承载着各种有趣的功能。欢迎来到应用的世界。 每一个应用都是存储在手机中的一段小程序。编写这段小程序,是每个开发者的主要工作。...联系人条目菜单的页面上,点击某个联系人,进入一个新的页面,这个新的页面上包含该联系人的具体信息;再点击返回键,我们退出了包含具体信息的页面,又回到联系人条目菜单的页面上。...在手机屏幕,我们只能看到栈顶的这个Activity,也只能和该Activity互动。当我们点击返回键时,当前Activity结束,从栈中弹出。...这也就是我们按返回键时,能回到历史页面(联系人条目菜单)的原理。 正如默默守卫的小步兵,Activity也总是处于一种相对静止的某个状态,比如运行、暂停、停止等。...军团的另一个重要组成部分是Service。应用中,Activity负责的界面大部分时间处于相对静止的状态,直到有特定的触发时间发生。这种异步的工作方式,能有效的节省系统资源。

1.1K80

Android四大组件之ContentProvider

Android四大组件之ContentProvider ContentProvider 应用程序默认是无法获取到其他程序的数据,这是安全学的基石(沙盒原理)。...都是一个模拟的上下文,必须在该类初始化之后才会调用setContext方法将context设置成自己的成员变量中记录, 所以对于获取getContext的时候只能放在方法内,不能放到成员位置,因为成员时是...null,而在方法内调用时该类就会已经初始化完了 ContentProvider中的query()后不能关闭数据库,因为其他的应用在调用该query方法时需要继续使用返回值Cursor,所以不能关闭数据库...final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/" + TABLE_NAME); // 声明一个路径的检查者,参数为Uri匹配时的返回值...,使用ContentResolver去操作ContentProvider, ContentResolver用于管理ContentProvider实例, 并且可实现找到指定的ContentProvider

95860

Android数据存储实现的5大方式

像上面创建表一样,你可以使用 execSQL() 方法执行 INSERT, UPDATE, DELETE 等语句来更新表的数据。execSQL() 方法适用于所有返回结果的 SQL 语句。...返回值是一个 cursor 对象,这个对象的方法可以迭代查询结果。 如果查询是动态的,使用这个方法就会非常复杂。...这样的话,你一个数据库的拷贝上操作,如果你想要你的修改能反映到设备,你需要把数据库备份回去。 把数据库从设备考出来,你可以使用 adb pull 命令(或者 IDE 做相应操作)。...以下是一些示例URI: content://media/internal/images 这个URI将返回设备存储的所有图片 content://contacts/people/ 这个URI将返回设备的所有联系人信息...content://contacts/people/45 这个URI返回单个结果联系人信息中ID为45的联系人记录) 尽管这种查询字符串格式很常见,但是它看起来还是有点令人迷惑。

6.6K90

Android ContentProvider_1 使用方法

通过 ContentResolver 解析数据时,URI 是必要的参数,其遵循的格式体现在ContentUris.java: Content URIs have the syntax:content:... ContentProvider 中,通过 getType(Uri) 方法来确定 URI 对应的 MIME 类型,返回值可以返回 标准 MIME 类型或者自定义 MIME 类型,这是一个抽象方法,需要由子类实现...查询结果所需的列 selectionClause WHERE col = value 选择条件 selectionArgs (没有确切地等效项) 选择条件参数(如果 selection )中使用了 ?...// 查询结果为空 } else { // 查询结果非空 while (cursor.moveToNext()) { // 联系人名称 String contractName...public class ExampleProvider extends ContentProvider { 1、初始化 UriMatcher 对象,NO_MATCH 表示匹配任何 Uri

60230

NDSS2019议题解读:通过恶意蓝牙外设打破安全机制

但复杂的蓝牙协议实现过程中,很容易出现一些设计缺陷,该议题提出了三种攻击场景,以证明蓝牙设计的缺陷以及潜在的危害。...笔者认为,通常来说,手机上的APP,完成一些操作时是需要用户授予其权限的,如读取通讯录、获取位置信息等。具备安全常识的用户对于未知的应用,通常授予其权限。...事实,名为KEY SYSRQ的功能键可以实现截图的功能,他将真正捕获的手机屏幕。 具备了上述能力后,这种攻击场景可以给受害者带来以下影响: 1 信息窃取。...理想情况下,应默认禁止此类连接,并要求用户进行交互。但实际没有任何特权许可的情况下,APP依然能够轻松完成打开蓝牙网络共享的操作。...这里需要额外对的网络资源优先级做相关说明,众所周知,手机可以使用WiFi和蜂窝网络访问蓝牙以外的互联网,因此,如果出现多个网络源,将通过内部排名方案自动选择一个(根据各网络源的基础分数,最终决定之前对网络源进行连接测试

2.3K10

反间谍之旅:首款远控木马工具分析

使用反间计当然需要三寸烂之舌,这是“谍”的本义。“间”怎么会跟“谍”联系起来了呢?“间”本来写作“闲”,清代文字训诂学家段玉裁为《说文解字》所作的注释说:“开门月入,门有缝而月光可入。”...近日研究员Google Play发现了首款基于AhMyth(远控木马工具)的间谍软件。这款恶意软件名为RB Music,是一款为Balouchi音乐爱好者提供流媒体广播的应用程序。...窃取用户联系人信息、短信信息、收集存储设备的文件以及利用设备发送短信。...、短信信息、收集存储设备的文件以及利用设备发送短信恶意行为。...图3-17 发送短信链接 四、AhMyth框架介绍 AhMyth是一款远控木马工具。它有两个组件:一个是服务器端,一个是客户端。 ?

2.3K00
领券