有没有类似于ACTION_PICK的方法从地址簿中选择多个联系人然后返回上一个活动?
答案 0 :(得分:1)
不是完整的答案,但无论如何都可能有用:
// Let user select (multiple) from a list of contacts with email addresses
Intent i = new Intent(Intent.ACTION_GET_CONTENT, Email.CONTENT_URI);
startActivityForResult(Intent.createChooser(i, ""), MY_RESULT_1);
在onActivityResult中,您显然只会获得一个代表整个联系人集的Uri(在data.getData()中)。大。
在HTC Desire / Froyo上,data.getExtras()包含三个ArrayLists,其中一个似乎保存用户选择的记录的Id。
Set<String> keys = data.getExtras().keySet();
ArrayList<Integer> ids = null;
for (String s : keys) {
Object o = data.getExtras().get(s);
if (o instanceof ArrayList) {
ArrayList a = (ArrayList) o;
if (a.size() > 0 && a.get(0) instanceof Integer) {
ids = a;
}
}
}
您可以使用这些来过滤查询data.getData()Uri。
的结果不漂亮,可能是HTC特有的。你的里程可能会有所不同。
如果有人可以指出更聪明的方式,我是一个快乐的倾听者:)