私はAndroid用のアプリの開発に取り組んでおり、アプリで使用する連絡先のサブセットを追跡するために連絡先IDを保存する必要があります。現在、ローカルで使用されているテーブルにIDを保存していますが、連絡先が他の連絡先とマージされると、このテーブルの一貫性が失われます(マージされた連絡先を表すために使用されるIDは頻繁に変更されます)。一貫性を維持するための最良の方法は何ですか?
私の考え:
放送されているある種のインテントまたはシステムイベントがあった場合、私はそれを聞くことができました。
古いIDと新しいIDの間のマッピングがどこかに保持されている場合(ContactsContract.RawContacts?)、IDが無効になったことを検出すると、フィールドを更新できます。
コンテンツオブザーバーでバックグラウンドプロセスを実行し、変更を監視します。できればこれは避けたいです。
この質問は同様の問題に取り組んでいるようですが、連絡先をマージする代わりに追加する場合:Androidの連絡先アプリケーションで新しい連絡先に反応します。
ありとあらゆるアイデアを歓迎します!