none
UWPアプリで追加した連絡先が、UWPアプリをアンインストールした際に消える RRS feed

  • 質問

  • # 概要

    UWPアプリから追加した連絡先情報が、UWPアプリをアンインストールした際に消える。

    # 詳細

    次のMSDNの記事で紹介されているサンプルアプリを参考に連絡先を追加するアプリを作成しました。

    https://msdn.microsoft.com/en-us/windows/uwp/contacts-and-calendar/integrating-with-contacts

    ContactStore store = await
        ContactManager.RequestStoreAsync(ContactStoreAccessType.AppContactsReadWrite);
    
    ContactList contactList;
    
    IReadOnlyList<ContactList> contactLists = await store.FindContactListsAsync();
    
    if (0 == contactLists.Count)
        contactList = await store.CreateContactListAsync("TestContactList");
    else
        contactList = contactLists[0];
    
    await contactList.SaveContactAsync(contact);

    しかし、この方法で追加した連絡先はアプリケーションをアンインストールした際に消えてしまいます。

    何故消えてしまうのか、どうすれば消えないようになるのか、ご存知でしたらご教示ください。


    2016年8月29日 11:54

回答

  • こんにちは。

    追加した連絡先がアプリケーションになっているからだと思われます。
    連絡先はそれぞれのアプリケーション(Gmail、Outlook...)などに保存されますが、
    ContactStoreAccessType.AppContactsReadWriteをストアとして指定しているのでアプリケーション専用スペースに連絡先が保存されています。よってアプリケーション削除時に一緒に削除されるのは当然な気もします。

    このアプリケーションをインストール後に、Peopleアプリから新しく連絡先を作成し、保存先としてこのアプリを指定してみてください。
    アプリケーションが削除されたタイミングで一緒に削除されると思います。

    ContactStoreAccessTypeによってはアプリケーション外の連絡先リストにアクセスして保存も出来るようなのですが、
    上記制限によるとマイクロソフトにアクセスを許可されたアプリケーションのみとされているようです。

    ※そういえばストアアプリのころから、連絡先のピッカーはあってもアプリから直接保存する機能は無かったような気もする…。

    • 回答としてマーク BYAKheee 2016年8月30日 4:17
    2016年8月29日 16:05
    モデレータ

すべての返信

  • こんにちは。

    追加した連絡先がアプリケーションになっているからだと思われます。
    連絡先はそれぞれのアプリケーション(Gmail、Outlook...)などに保存されますが、
    ContactStoreAccessType.AppContactsReadWriteをストアとして指定しているのでアプリケーション専用スペースに連絡先が保存されています。よってアプリケーション削除時に一緒に削除されるのは当然な気もします。

    このアプリケーションをインストール後に、Peopleアプリから新しく連絡先を作成し、保存先としてこのアプリを指定してみてください。
    アプリケーションが削除されたタイミングで一緒に削除されると思います。

    ContactStoreAccessTypeによってはアプリケーション外の連絡先リストにアクセスして保存も出来るようなのですが、
    上記制限によるとマイクロソフトにアクセスを許可されたアプリケーションのみとされているようです。

    ※そういえばストアアプリのころから、連絡先のピッカーはあってもアプリから直接保存する機能は無かったような気もする…。

    • 回答としてマーク BYAKheee 2016年8月30日 4:17
    2016年8月29日 16:05
    モデレータ
  • to: Takiwa

    ありがとうございます。

    ContactStoreAccessTypeをAllContactsReadOnlyとするとMicrosoftアカウントが確認できました。

    権限がなくて書き込みはできませんが、こちらに連絡先を追加する必要があるのだとおもいます。

    2016年8月30日 4:53