アンドロイドAccountManger
を使用してウェブサービスとアプリケーション(連絡先とカレンダーの標準同期)を同期したいと考えていますが、AccountManager
はユーザー名とパスワードを保存するようにしか見えません。私のWebサービスは、ユーザー名、パスワード、アカウントの3つの資格情報を取ります。 3番目の情報を格納するベストプラクティスは何ですか? AndroidのドキュメントからAndroidアカウントマネージャーに追加データを保存
答えて
p ablisco説明し、あなたがaddAccountExplicitly()さんのuserDataバンドルパラメータを使用して、任意のユーザーデータを格納するためのAccountManagerの機能を使用することができます後で
final Bundle extraData = new Bundle();
extraData.putString("someKey", "stringData");
boolean accountCreated = am.addAccountExplicitly(account, password, extraData);
を、あなたのオーセンティケータのgetAuthToken()方法では、たとえば、あなたがしているアカウントに関連するデータを取得することができます作業:
String myData = am.getUserData(account, "someKey");
あなたが最初のバンドルをビルドするとき、あなたのデータが文字列として格納されなければならないので、残念ながらこれを書いている時点ではあなただけ、文字列を取得することができます。これが誰かを助けることを望みます。
私は私のアプリのアカウントマネージャーを使用して見て、私は電子メールやuserIdsのようなものを格納する必要があります。上記の方法を使用しても安全ですか?または、任意のアプリがIDと電子メールを読み取ることができますか? –
@TomHart - getUserData()のドキュメント(他のアプリケーションがアカウントデータを読み取る方法)は次のように述べています。 "このメソッドでは、呼び出し元にAUTHENTICATE_ACCOUNTS権限を保持し、アカウントの認証者と同じUIDを使用する必要があります。これは、セットアップが適切に行われると、アプリだけがそのデータにアクセスできることを意味します。ただし、AccountManagerは機密データを保存する安全な領域ではありません。デバイスへの物理的なアクセスにより、誰でもそのデータを読み取ることができます。 参照:http://developer.android.com/reference/android/accounts/AccountManager.html#getUserData(android.accounts.Account、java.lang.String) –
私はいくつかのテストを行いました。他のアカウントのデータは、私はキーに必要なだけです。ユーザーIDと電子メールを安全に保管するための推奨事項はありますか?私が考えることができるのは、.setUserData( "Some ^^!Really_StrangeEMa1L_Key!"、userEmail);のようなsetUserDataの本当にあいまいなキーを使うことです。 –
アカウントが追加されたときのいずれかのuserDataバンドルで行われることになっています:
AccountManager manager = AccountManager.get(context);
manager.addAccountExplicitly(account, null, userData);
または明示的に値を追加:
manager.setUserData(account, KEY, value);
しかし、私はとのトラブルを抱えていますこれは:
返事をありがとう。私はアカウントマネージャーを断念してしまいました。私は最後にそれに非常に苦労しました。私のプロジェクトが成長しているように見えていると言えば、私はそれにうまく戻るかもしれません。私はすぐにあなたの答えをチェックします – JonWells
- 1. Androidアカウントマネージャーとパスワードを保存
- 2. アカウントマネージャーからアカウントを追加する
- 3. Geo-redis、追加データを保存
- 4. ディスクに保存されたSpark/Parquetデータにデータを追加
- 5. Androidアカウントマネージャー - アカウントメニューのレイアウト
- 6. Androidデータをアプリケーションに保存
- 7. Androidスタジオデータベースにデータを保存
- 8. 保存されたデータをTextFileに保存してテキストファイルに追加する
- 9. Android - データベースにデータを追加
- 10. ローカルストレージにデータを保存してテーブルに追加する方法
- 11. Android Googleアカウントマネージャー基本ログイン
- 12. Androidアプリでデータを保存
- 13. Djangoデータベースに追加データを保存します
- 14. jenkins rest apiに保存するデータを追加する方法
- 15. 追加のデータをタスクコメントに保存する
- 16. SQLiteでデータを保存してListViewに追加する
- 17. データを保存する前にDjangoフォームにデータを追加しますか?
- 18. Androidデータ(テキスト+画像)保存
- 19. Android - データを自分のデータサーバーに保存
- 20. Android:データをonSavedInstanceに保存する
- 21. クッキーにIDを追加保存
- 22. iPhoneに保存されている既存の保存されたNSMutableArrayに新しいデータを追加する
- 23. 結果をテーブルに保存してデータを保存し、それをjenkinsワークスペースに追加します
- 24. 保存日(オラクル)に1ヶ月追加
- 25. データベースにデータを追加するAndroid
- 26. Androidのテキストファイルにデータを追加する
- 27. Android - firebaseデータベースにデータを追加する
- 28. Objective-C、iOS SDK、NSMutableArray、要素の追加とデータの保存
- 29. Androidボタンのデータを保存する
- 30. androidのデータを保存する場所
申し訳ありませんが、愚かなものですが、UserNameとAccountをマージして、論理的な 'UserName'にすることはできませんか? –