我想在Android中获得联系电话号码,但就我找到的教程而言,它是按升序排列的,而不是按它们在联系人中出现的顺序排列的。
如何修改代码以准确地从我的联系人列表中获取号码??
Cursor cursor = getContentResolver().query(Phone.CONTENT_URI, new String[]{Phone.NUMBER}, null,null, null);
ArrayList <String> nr_formatat = new ArrayList <String> ();
if (cursor != null) {
while (cursor.moveToNext() == true)
nr_formatat.add(cursor.getString( cursor.getColumnIndex(Phone.NUMBER)));
}发布于 2011-08-12 03:36:02
你做错了。您需要根据CONTACT_ID查询数字,否则两者之间将不会有任何对应关系。看看this tutorial吧。
发布于 2011-08-12 03:15:01
这取决于联系人在联系人列表中的排序方式。点击菜单按钮,点击“显示选项”。除此之外,你的问题中没有足够的信息来充分回答它。
在我看来,你走错路了。我将浏览一下这个示例应用程序。它获取联系人的方式与您不同,并允许您随心所欲地对其进行排序。
http://developer.android.com/resources/samples/BusinessCard/src/com/example/android/businesscard/index.html
发布于 2013-01-15 22:26:53
如果(Anna,0342)具有ID 1,(Lulu,0311)具有ID 2,(John,0088)具有ID 3,则应执行以下操作
Cursor cursor = getContentResolver().query(Phone.CONTENT_URI, new String[]{Phone.NUMBER}, null,null, new String[]{Phone.ID});
ArrayList <String> nr_formatat = new ArrayList <String> ();
if (cursor != null) {
while (cursor.moveToNext() == true)
nr_formatat.add(cursor.getString( cursor.getColumnIndex(Phone.NUMBER)));
}ContentResolver().query()的最后一个变量接受sortorder。因此,如果您的联系人列表也按ID排序,则可以在此处放置ID之类的内容。ConecntResolver().Query() info here.
https://stackoverflow.com/questions/7031423
复制相似问题