我想阅读智能手机中AdressBook的所有名称。 我已经测试过以下代码,但它不会工作:
CrossContacts.Current.PreferContactAggregation = false;
var hasPermission = CrossContacts.Current.RequestPermission().Result;
if (hasPermission)
{
Contacts = CrossContacts.Current.Contacts.Select(
contact => contact.FirstName + " " + contact.LastName);
}
Visual Studio也会引发如下异常:
System.ArgumentException:类型的表达式 ' {Plugin.Contacts.ProjectionReader {1}} 1 [System.String]'
这里的问题是什么?
答案 0 :(得分:1)
如果您想要将所有联系人的姓名连接在一起,请将其返回 struct node* delete_item(struct node* head, int num)
{
if (head == NULL) { // Found the tail
printf("not found\n");
return NULL;
}
else if (head->data == num)
{ // Found one to delete
head = head->next;
free(head);
printf("num founded");
return head->next;
}
else
{ // Just keep going
head->next = delete_item(head->next, num);
return head;
}
}
而不是List<string>
:
List<Contact>
如果您尝试将整个List<string> nameList = CrossContacts.Current.Contacts.Select(contact => contact.FirstName + " " + contact.LastName).ToList();
记录返回到列表:
Contact
注意:请注意,对于统一联系人,用户可以拥有数千个可以返回的联系人,因为您不应用任何过滤。
答案 1 :(得分:0)
我认为这是目前Xamarin插件中的一个错误: https://github.com/jamesmontemagno/Xamarin.Plugins/issues/272