0

いくつかの初期の調査に基づいて、私がやりたいことを実行することは実行可能ではないと確信していますが、誰かが方法を知っている場合に備えて、ここの専門家のコミュニティに尋ねることは害はないと思いました。

ユーザーがメインの連絡先アプリから編集できる連絡先のカスタムフィールドを作成したいと思います。ただし、ユーザーは4つの特定の値のリストからのみ選択できるようにする必要があります。文字列値の短いリストが理想的ですが、最小/最大範囲のintで十分です。

どちらの方法でも可能かどうかを知りたいのですが、このルートのパフォーマンスを賢くするのが理にかなっているのかどうかも疑問に思っています。具体的には、電話やSMSメッセージを受信するたびに(電話番号に基づいて)連絡先を検索するか、自分のデータセット(名前、番号、カスタムフィールドで構成される)を保存する方がよいでしょうか。スレッド内の連絡先情報を頻繁に同期するだけですか?または、アプリを初めて実行したときに連絡先を同期してから、ContentObserver?を使用して変更を登録します。

これは、連絡先にカスタムフィールドを追加する方法を説明する回答を含む同様の質問です。

前もって感謝します。

4

1 に答える 1

1

明らかに同期の問題が発生するため、連絡先に対して独自のデータセットを別のデータベースに保存する目的はわかりません。リンクした方法で、mimetypeを使用して、連絡先に対して必要なものを保存できます。

連絡先を探したいときはいつでも、カスタムmimetypeを使用してそれを行うことができます。連絡先ID(からContactsContract.Data.CONTENT_URI)を取得してから、別のクエリを実行して連絡先の詳細(からContactsContract.Contacts.CONTENT_URI)を取得します。これらは異なるテーブルであることに注意してください。

ユーザーがメインの連絡先アプリから編集できる連絡先のカスタムフィールドを作成したい

カスタムmimetypeを使用する場合、メインアプリから編集できる可能性はありません。また、ここには多くのオプションがありません。メインの連絡先アプリには、SDKにあるフィールドのみが表示されます。連絡先の詳細を保存することはできますが、組み込みの連絡先編集画面には表示されません。

于 2010-05-28T13:16:02.233 に答える