在Android中选择多个联系人
答
不是一个完整的答案,但无论如何,也许有帮助:
// 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特定。你的里程可能有所不同
如果有人能指出一个更聪明的办法,我是一个快乐的听众:)
+0
我可以确认这在HTC Desire上工作。 在SonyEricsson XPeria Mini上,不支持该意图 – 2011-06-23 06:37:15
任何人,请回答或对这个问题至少评论。谢谢! – firnnauriel 2010-10-19 04:54:54