私はしばらくの間、この問題へのアプローチに苦労してきました。連絡先が追加されたときに実行されるインテントアクションはありません(私が知る限り)。この問題を解決するための私のオプションは何ですか?
これが私が遊んでいるいくつかのアイデアです:
- まず、タイムスタンプ付きのユーザーの場所の記録を保持し、連絡先DBを定期的にスキャンして、タイムスタンプ付きの新しいエントリを自分のDBに追加しました。次に、これらを比較して、適切な一致を見つけようとします。エラーが発生しやすいため、このアプローチは好きではありません。
- 最近、Contacts DBのContentObserverを調べていますが、アプリにフォーカスがあるときだけでなく、常に監視されるようにこれを設定する方法がわかりません。おそらくサービスで?ドキュメントは、コンテンツオブザーバーのライフサイクルについて私には明確ではありません。つまり、それを登録したサービス/アクティビティが停止した後に、ドキュメントは停止しますか?
だから本当に私が欲しいのは、私のアプリがデバイスにインストールされているときにユーザーが連絡先を追加する場所と時間を記録するシームレスな方法です。アプリがフォーカス/実行されている必要があるだけでは十分ではありません。