其他分享
首页 > 其他分享> > android-如何通过URI打开本机名片

android-如何通过URI打开本机名片

作者:互联网

有人可以向我解释如何为特定联系人URi打开本地联系人

我设法通过以下方式解析联系人URI:

Uri lookupUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI,
                Uri.encode(displayName));

然后我尝试这样做:

     Intent intent = new Intent(Intent.ACTION_VIEW);
     intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
     intent.putExtra(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, "555");
     context.startActivity(intent);

但这只是打开本机地址簿而没有任何解决方法

解决方法:

Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(contactID));
intent.setData(uri);
context.startActivity(intent);

您可以通过使用contentResolver浏览来检索contactId:

id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
name = cur.getString( cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Log.d(tag, "Id: "+ id+"\t Name: "+name);

标签:android-intent,contactscontract,android
来源: https://codeday.me/bug/20191031/1974727.html