在Android中选择多个联系人

在Android中选择多个联系人

问题描述:

有没有类似于ACTION_PICK的方式从地址簿中选择多个联系人,然后返回到之前的活动?在Android中选择多个联系人

+0

任何人,请回答或对这个问题至少评论。谢谢! – firnnauriel 2010-10-19 04:54:54

不是一个完整的答案,但无论如何,也许有帮助:

// 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