无法获得联系

时间:2018-07-08 22:43:18

标签: android

以下摘要

我在每一页上都找到了如何获取联系人的方法,归根结底是ContentResolver cr = getContentResolver();,但是由于getContentResolver()是未定义的,因此无法正常工作。 有任何想法吗?这真令人沮丧。

根据android dev docs https://developer.android.com/reference/android/provider/ContactsContract.PhoneLookup,在ContentResolver类中应该有一个称为query的方法,但我找不到它。我经历了放置ContentResolver之后弹出的下拉菜单,尽管下拉菜单确实包含了东西,但查询方法不是其中之一,我无法弄清楚为什么会成为我的生命。我正在使用api级别23。我最终试图将所有电话号码发送到联系人中,并将其放入列表或数组中。

我搜索过的东西的参考链接: How to match number saved in contactlist with incoming call number 根据我可以从google dev文档中得知的内容,该答案中的代码似乎已过时。 https://forums.xamarin.com/discussion/65159/i-can-not-found-query-method-in-contentresolver 我尝试在底部附近回答“使用Application.Context.ContentResolver.Query而不只是contentResolver.Query”,但对我来说是Application。没有Context只是Context_something。

在文档中,一串代码写为resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME,...

不幸的是,您可能会发现字符串不完整,我一直在尝试通过谷歌搜索一部分来尝试正确地编写它来解析它。

编辑:

针对最后的评论,这是我要修复的代码。如何获取此代码以查询联系电话并将其放置在数组,列表或字典中(即使还必须查询姓名)

Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI,
                Uri.encode(number));
        Cursor cursor = Application. ContentResolver.(uri, new String[]{ContactsContract.PhoneLookup.DISPLAY_NAME,
        null, null};

更新

我将实现更改为以下内容。

Context con;
        ContentResolver cr = con.getContentResolver();
        Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
                null, null, null, null);

它已识别出方法getContentResolver,但由于我试图禁止所有警告而抛出了一定是错误的消息。这与内容对象骗局说“它可能已初始化”,但是当我尝试使用此方法来解决此问题

Context con = new Context();

Android Studio说它不能被初始化,因为它是抽象的。

Read all contacts' phone numbers in android 如果这个答案仍然有效,我不会提出这个问题。我很惊讶没有人评论它不再起作用了。我可以,但我没有所需的代表。

0 个答案:

没有答案