我参考了这个博客来列出电话联系人。另外,我已经按照这个线程实现了使用DependencyService将联系人添加到电话簿。
我的问题是在将联系人添加到设备电话簿后,我需要获取所有最新联系人。另外,我需要在联系人列表视图中显示新联系人。
作为参考,我创建了一个示例项目并在此处上传。在此示例中,首先我列出了顶部带有“添加新”选项的电话联系人。如果我们点击Add New,将打开一个新页面,其中包含Add to Contact选项和电话号码条目。输入电话号码后单击添加到联系人选项,然后设备电话簿页面将显示输入的电话号码。
在这个阶段,用户可能会或可能不会将该号码保存到设备电话簿中。因此,当用户恢复到应用程序时,我需要获取整个联系人并检查电话号码是否已添加到设备电话簿中。如果添加了联系人,我将隐藏“添加到联系人”选项,否则我将再次显示该选项。同时当用户返回联系人列表时,我需要在那边显示新添加的联系人。
为此,我在App.xaml.cs上添加了一条消息,并在AddContactPage上订阅它。
应用程序.xaml.cs
protected override void OnResume()
{
// Handle when your app resumes
MessagingCenter.Send(this, "isContactAdded");
}
添加联系人页面
MessagingCenter.Subscribe<App>(this, "isContactAdded", (sender) =>
{
//How I can fetch the entire latest contacts here
//After fetching conatcts only I can check the new phone number is added to the device phonebook
});
联系人作为参数从MainActivity传递到App.xaml.cs。所以我不知道如何直接获取它。有没有办法获取此页面上的所有联系人?