在我的应用程序中,我想通过手机访问联系人,并使用从联系人获取的一些数据填写表格。当我尝试运行 Intent 时,我可以在手机中看到联系人列表,但它不会发回任何数据,并且不会调用 onActivityResult。有人可以帮助我,因为我是 android 编程的初学者。
这是我的代码的一部分:
在名为“联系人”的按钮的单击事件中
btn_contacts.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@SuppressWarnings("deprecation")
Intent intent = new Intent(Intent.ACTION_PICK,ContactsContract.Contacts.CONTENT_TYPE);
startActivityForResult(intent, PICK_CONTACT);
}
});
在同一个活动的 onActivityResult 中。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
Log.e("REcAddress","in activity result");
super.onActivityResult(requestCode, resultCode, data);
if(data!=null){
Log.e("REcAddress","hey");
}
if(requestCode == PICK_CONTACT && resultCode == RESULT_OK){
Uri contactData = data.getData();
Log.e("REcAddress",contactData.toString());
Cursor c = getContentResolver().query(contactData, null, null, null, null);
if(c.moveToFirst()){
String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Log.e("REcAddress",name);
edt_rec_name.setText(name);
}
}
}
我还附上了一张图片来显示活动的布局。我想从表格中的联系人那里填写尽可能多的详细信息。Logcat 也没有错误。请指导我。
谢谢。