【发布时间】:2014-03-25 04:37:43
【问题描述】:
我试图在三星 Galaxy S4 上获取所有联系人相同的收藏夹联系人列表。我正在使用以下代码:
public void getFavoritesContactsList(ContentResolver cr) {
Uri queryUri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME,
ContactsContract.Contacts.STARRED};
String selection =ContactsContract.Contacts.STARRED + "="+"1";
Cursor cursor = managedQuery(queryUri, projection, selection, null, null);
while (cursor.moveToNext()) {
String contactID = cursor.getString(cursor
.getColumnIndex(ContactsContract.Contacts._ID));
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.withAppendedPath(
ContactsContract.Contacts.CONTENT_URI, String.valueOf(contactID));
intent.setData(uri);
String intentUriString = intent.toUri(0);
String title = (cursor.getString(
cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)));
name1.add(title);
_idd.add(contactID);
}
cursor.close();
}
但结果始终为空。
【问题讨论】:
-
你的代码很完美。请检查您是否真的有任何喜欢的联系人,并检查您的清单是否已输入 READ_CONTACT 权限
-
@Praveen:谢谢,我检查了 Android 设备中的收藏夹组,它有很多最喜欢的联系人,我在清单中也有“android.permission.READ_CONTACTS”。我不知道会发生什么?
-
我刚刚在我的 SAMSUNG S duos 上运行了您的代码。非常完美。显示了所有我最喜欢的联系人...您如何显示您最喜欢的联系人...
-
我使用列表视图来显示最喜欢的联系人。不要担心显示,因为我之前只是使用该列表视图来显示所有联系人。我尝试调试和计算结果,但始终为空!
-
我使用了这一行 Toast.makeText(getApplicationContext(), title, Toast.LENGTH_SHORT).show();在while循环里面..它显示了所有最喜欢的联系人
标签: android contacts favorites