連絡先のバックアップと同期に取り組んでいます。
目標は、すべての連絡先のすべての詳細をサーバー (定義されたカスタム プロトコル) にバックアップとして送信することです。
アプリケーションの最初の起動時に、すべての連絡先がキューに入れられ、サーバーに送信されます。その後、新しい連絡先の追加/連絡先の更新をリッスンするバックグラウンド サービスが常に実行され、この新しい/更新された連絡先がバックグラウンド サービスによってサーバーに送信されます。
レコードを取得するためにRawContactsEntityを使用しています。
ContentObserver
連絡先の追加または変更の通知を取得するために、RawContacts/Data テーブルで使用してみました。しかし、私の知る限り、個々のレコードのIDではなく、テーブル全体の変更されたデータのContentObserver
通知( )を提供します。onChange()
今私の問題は、変更された/新しいレコードの正確なIDを取得する方法ですか?
ネイティブの連絡先テーブルと比較して変更されたレコードを取得するためのバックアップ テーブルを作成することを考えました。しかし、接点の数が増えると、パフォーマンスが大幅に低下し、バッテリーの寿命も妨げられます。
パフォーマンスとメモリ使用量の観点から、この連絡先のバックアップ操作を達成するための最良の方法を提案できますか? 連絡先を同期する他の方法はありますか?
これで私を助けることができる例を誰かが共有できれば、非常に役に立ちます。