【发布时间】:2011-08-13 14:26:47
【问题描述】:
我制作了一个名为 Location Texter 的 Android 应用。 除了当我想查找联系人时,它工作正常,我只希望显示带有电话号码的联系人。目前它显示了所有的联系人。 代码如下:
public void showContacts(Main main, Intent data) {
Cursor cursor = main.managedQuery(data.getData(), null, null, null, null);
cursor.moveToNext();
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));
Cursor phones = main.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId,null, null);
while (phones.moveToNext()) {
String phoneNo = phones.getString(phones.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.NUMBER));
main.numbers.add(phoneNo);
}
main.pickPhoneNos(name);
phones.close();
}
它所做的是打开所有联系人的意图。当其中一个被选中时,它会返回到主要活动。如果所选联系人拥有多个手机号码,则会显示一个对话框,要求用户选择其中一个。我注意到我的一些尝试没有出现对话。 如果很难理解我在说什么,请下载该应用程序。
【问题讨论】: