在Android中选择多个联系人

在Android中选择多个联系人,android,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, ""

是否有类似于“选择”操作的方法从通讯簿中选择多个联系人,然后返回到以前的活动?

不是完整的答案,但可能会有所帮助:

// 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()包含三个ArrayList,其中一个似乎包含用户所选记录的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;
        }
    }
}
Set keys=data.getExtras().keySet();
ArrayList ID=null;
用于(字符串s:键){
对象o=data.getExtras().get;
if(o ArrayList的实例){
ArrayList a=(ArrayList)o;
if(a.size()>0&&a.get(0)instanceof Integer){
ids=a;
}
}
}
您可以使用这些来过滤查询data.getData()Uri的结果

不漂亮,可能是HTC特有的。您的里程数可能会有所不同


如果有人能指出一个更聪明的方法,我是一个快乐的听众:)

任何人,请回答或至少评论这个问题。谢谢我可以确认这是HTC的愿望。在SonyEricsson XPeria Mini上,不支持该意图