2012-02-06 5 views
1

私は、連絡先選択ツールを使用して連絡先の詳細を保存するアプリを市場に出しています。誰かがすべて、新しいROMをフラッシュしたり、新しい携帯電話を取得するまで、これを使用することはOKであることを私が見つけた連絡先のIDをandroidに保存する "正しい"方法は何ですか

cursor.getColumnIndex(ContactsContract.Contacts._ID) 

:私はコンタクトピッカーから戻ってきたとき、私は接触を得るために、以下を使用していましたIDは変更されました。

私はアンドロイドのドキュメントを見てきましたが、ContactsContract.Contacts.LOOKUP_KEYの使用についての説明を見てきましたが、その説明は "私の行IDが変更された場合に連絡先を見つける方法のヒントを含む不透明な値同期または集計の結果を表示します。

コンタクトIDを保存するにはどうすればよいですか?

+0

アプリのローカルデータベースですか?点滅する前にバックアップしますか? –

+0

'' LOOKUP_KEY'を保存して、[バックアップエージェント](http://developer.android.com/guide/topics/data/backup.html)を読み込み(&実装する)ことを忘れないでください。永久にバックアップのために。 – Jens

答えて

1

ルックアップキーは、連絡先の正しい参照です。

Contacts Provider/Contacts:

ContactsContract.Contactsテーブルは、コンタクト列に「永久的な」リンクである列LOOKUP_KEY を有しています。連絡先 プロバイダは連絡先を自動的に保持しているため、集計または同期に応答して 行の_ID値を変更することがあります。この が発生しても、連絡先の LOOKUP_KEYと組み合わされたコンテンツURI CONTENT_LOOKUP_URIは依然として連絡先の行を指しているため、 LOOKUP_KEYを使用して「お気に入り」の連絡先などへのリンクを維持することができます。 この列には、 _ID列の形式とは関係のない独自の形式があります。

関連する問題