2011-02-07 9 views
1

ACCOUNT_NAME、ACCOUNT_TYPEを自分のカスタム値に設定して連絡先を追加すると、Samsunc Epicの電源を切っても連絡先は保存されません。 ArrayList操作とapplyBatch(ContactsContract.AUTHORITY、ops)技法を使用して連絡先を追加します。アカウントに追加された連絡先がSamsung Epicの電源オフ/オンに保存されません。

2.1または2.2を実行しているエミュレータとHTC EVO電話機で、同じコードが正常に動作します。私は現在、同期プロバイダロジックを使用していません。カスタムアカウントのフィールドを使用するには、同期プロバイダーである必要がありますか?

ACCOUNT_NAMEとACCOUNT_TYPEにnull値を使用すると、連絡先はEpicとHTC EVOの両方に正しく保存されますが、一般的な「My Contacts」ビューから連絡先を非表示にするオプションが必要になります。

私は、連絡先を非表示にするための最良の方法を入力するか、またはカスタムアカウントを使用して連絡先を動的に非表示/非表示にすることができますか?

答えて

1

AccountManagerフレームワークを完全に実装せずに、AccountTypeをカスタム値に設定することはできません。

ニースチュートリアルhttp://www.finalconcept.com.au/article/view/android-account-manager-step-by-step-1を使い始めることができます。

連絡先を非表示にして(ユーザーの手で行う権限を与える)これが最善の方法です。しかし、あなたが何も表示しないように設定されている連絡先グループを作成してそのグループに連絡先を追加することができるというあなたの目的が隠れているだけの場合、AccountManagerを実装するために苦労する必要はありません。

アカウントマネージャを実装するもう1つの副作用は、ネイティブアプリを使用してカスタムアカウントに属する連絡先を追加/編集できないことです(名前フィールドのみが表示されます)。

+0

リンクありがとうございます。グループのトレードオフとAccountManagerの実装を考えてみましょう。 HTCとLGの携帯電話がnullでないAccountTypeとSamsung Epic(おそらくすべてのSamsungデバイス)との連絡を保持する理由についての考えはありませんか?同じアプリコード、同じ主要Androidバージョン。解釈に開かれたアカウントサポートに関連するものがあり、製造業者はこれを別の方法で実装していますか? – MarkF