以下代码提取多个联系人并将其存储在一个包中:
Intent phonebookIntent = new Intent("intent.action.INTERACTION_TOPMENU");
phonebookIntent.putExtra("additional", "phone-multi");
phonebookIntent.putExtra("maxRecipientCount", MAX_PICK_CONTACT);
phonebookIntent.putExtra("FromMMS", true);
startActivityForResult(phonebookIntent, REQUEST_CODE_PICK_CONTACT);
Run Code Online (Sandbox Code Playgroud)
下面的代码检索所选数据:
if (requestCode == REQUEST_CODE_PICK_CONTACT) {
Uri contractData = data.getData();
Bundle contantData = data.getExtras();
String result= contantData.getString("result");
ArrayList<String> contacts = contantData.getStringArrayList("result");
ContactRetriever cr = new ContactRetriever(getApplicationContext(), contacts);
Person p = cr.getPerson();
Run Code Online (Sandbox Code Playgroud)
我想要Uri中的数据,以便我可以在其他引用Uri数据的类中使用它.
如何将捆绑值传递给Uri数据?
使用Uri数据作为"contactData"的另一个例子:
private String getNumber() {
String ret = null;
Cursor cId = cr.query(contractData, new String[]{ContactsContract.Contacts._ID}, null, null, null);
if (cId.moveToFirst()){
id = cId.getString(cId.getColumnIndex(ContactsContract.Contacts._ID));
Log.i(TAG + " IDs: ", id);
}
cId.close();
Cursor cNum …Run Code Online (Sandbox Code Playgroud)