gpt4 book ai didi

java - 如何检索联系人的电话号码(Android)?

转载 作者:行者123 更新时间:2023-11-29 21:47:19 28 4
gpt4 key购买 nike

让我的联系人 Activity 正常工作简直是一场噩梦 - 我知道这是一个常见问题,但我似乎无法将现有解决方案应用到我的代码中 - 我无法解决这个问题。非常感谢任何帮助,我在这里撕毁我的头发。

public class nominateContactsActivity extends ListActivity {
public String strName;
public String strLoginCode;
public String strTelNo;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.nominatecontactsactivitytest);

this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
this.getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);


Cursor cursor = managedQuery(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
startManagingCursor(cursor);
String[] contacts = new String[] {ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER};
String[] columns = new String[] { ContactsContract.Contacts.DISPLAY_NAME};
int[] to = new int[] { android.R.id.text1 };

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_multiple_choice, cursor, columns, to);
this.setListAdapter(adapter);

Button finishButton = (Button) this.findViewById(R.id.finishButton);
finishButton.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

SimpleCursorAdapter adapter = (SimpleCursorAdapter) nominateContactsActivity.this.getListAdapter();
Cursor cursor = adapter.getCursor();

ListView lv = nominateContactsActivity.this.getListView();
SparseBooleanArray selectedItems = lv.getCheckedItemPositions();
for (int i = 0; i < selectedItems.size(); i++) {

int selectedPosition = selectedItems.keyAt(i);
cursor.moveToPosition(selectedPosition);
Log.d("", cursor.getString(cursor.getColumnIndex(
ContactsContract.Contacts.DISPLAY_NAME))+" is checked");
Log.d("", "row id: "+adapter.getItemId(selectedPosition));
}
}
});

我正在使用上面的代码返回联系人列表 - 这工作正常,如我所愿在 ListView 中显示联系人姓名。但是,没有检索到任何电话号码,我只是不知道如何获取它们。

谢谢

最佳答案

下面是读取所有联系电话和姓名的代码,您可以尝试一下。

   Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
while (phones.moveToNext())
{
String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
}
phones.close();

关于java - 如何检索联系人的电话号码(Android)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15445258/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com