2

我的应用程序显示了一个联系人列表,我已经(在代码中)验证了每个联系人至少有一个聚合建议。一旦用户点击这些联系人之一,我想打开内置的活动/屏幕,询问用户他想加入所选联系人的联系人。

部分基于此示例,我尝试运行此代码:

@Override
protected void onListItemClick(ListView l, View v, int position, long id) 
{

    ContactInfo selectedValue = (ContactInfo) getListAdapter().getItem(position);
                  
    /*Should give URI for Aggregation suggestion*/
    Uri uri = Contacts.CONTENT_URI.buildUpon()
       .appendEncodedPath(String.valueOf(selectedValue.getId()))
       .appendPath(Contacts.AggregationSuggestions.CONTENT_DIRECTORY)
       .appendQueryParameter("limit", "3")
       .build();

    /*Opens Activity*/
    Intent openContactDetailsIntent = new Intent(Intent.ACTION_VIEW);
    openContactDetailsIntent.setData(uri);
    startActivity(openContactDetailsIntent);
}

然而,所发生的只是一个通用联系人屏幕正在打开,其中包含所有联系人的列表 - 而不是仅建议的联系人。

这甚至可能吗?我是否将正确的论点传递给正确的活动?

4

1 回答 1

0

你显然需要使用ContactsContract.AggregationExceptions类。

于 2013-01-17T14:04:51.433 回答