在我选择一个联系人以通过意图显示姓名和电话号码后,onActivityResult不会执行。
我在这里寻找一些答案,但是nono解决了我的问题。当我开始开发该功能时,它起作用了,但是经过一些验证(如果获得许可),它停止了工作。
contact.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(GeneralUtility.validatePermission(context, Manifest.permission.READ_CONTACTS)){
initPickContacts();
}else{
GeneralUtility.navigateSettingByApp(context);
Toast.makeText(context, "Permiso no obtenido", Toast.LENGTH_SHORT).show();
}
}
});
public void initPickContacts(){
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
startActivityForResult(intent, PICK_CONTACT_REQUEST);
Intent i = new Intent(Intent.ACTION_PICK,
ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(i, PICK_CONTACT_REQUEST);
}
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode == PICK_CONTACT_REQUEST) {
if (resultCode == RESULT_OK) {
Uri contactUri = intent.getData();
renderContact(contactUri);
}
}
}
我需要获取联系人的uri。
答案 0 :(得分:0)
现在可以使用。我将PICK_CONTACT_REQUEST的值更改为1,并且onActivityResult有效。