在我选择一个联系人通过intent显示姓名和电话号码后,不会执行onActivityResult。
我在这里寻找一些答案,但没有解决我的problem.When,我开始开发它工作的函数,但经过一些验证(如果许可),它停止工作。
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。
发布于 2019-05-06 14:22:30
它现在起作用了。我将PICK_CONTACT_REQUEST的值更改为1,这样onActivityResult就可以工作了。
https://stackoverflow.com/questions/55975240
复制