我无法阅读和处理我的活动中的联系人数据。 通过执行我的代码,它会显示一个联系人选择器,但是当我选择一个联系人时,它会显示一个对话框“不幸的是你的App已被停止”。 我可以选择联系人但无法将数据读取为电话号码,姓名等。
我很确定onActivityResult()方法中存在一些错误
onActivityResult()方法中的代码是: -
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
contact=data.getData();
String projection[]={Phone.NUMBER};
Cursor c=getContentResolver().query(contact, projection, null, null, null);
c.moveToFirst();
int column=c.getColumnIndex(Phone.NUMBER);
String number=c.getString(column);
Toast.makeText(this,"The number of selected contact is:-"+ number, Toast.LENGTH_LONG).show();
}
}
请帮帮我。 我是android编程的新手。 提前谢谢。
答案 0 :(得分:0)
我认为你的onActivityResult应该如下所示
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
Uri result = data.getData();
String id = result.getLastPathSegment();
String projection[] = { Phone.NUMBER };
Cursor c = getContentResolver().query(Phone.CONTENT_URI, projection,
Phone.CONTACT_ID + "=?", new String[] { id }, null);
c.moveToFirst();
int column = c.getColumnIndex(Phone.NUMBER);
String number = c.getString(column);
Toast.makeText(this,
"The number of selected contact is:-" + number,
Toast.LENGTH_LONG).show();
}
}
}