3

独自のカスタム アカウントを作成しましたが、アカウントを追加してアプリで使用するのに問題なく動作しています。

アカウントの削除と追加ではなく、アカウント情報を編集できるようにしたいと考えています。私のアカウントには多くのフィールドがあり、いくつかは少し長くなる可能性があるため、削除と追加はかなり面倒です.

独自の PreferenceScreen を追加してこの基本を作成し、次の例に従って、アカウント認証 XML ファイルの android:accountPreferences を介して接続しました: AbstractAccountAuthenticator

PreferenceScreen で、アカウントのユーザー データを入力するために使用されるアクティビティを開くインテントを定義します。

<PreferenceScreen
    android:key="edit"
    android:title="Edit Account Details"
    android:summary="Change System ID, user name, password etc.">
    <intent
        android:action="my.app.accountmanager.UserCredentialsActivity.ACCOUNT_SETUP"
        android:targetPackage="my.app.accountmanager"
        android:targetClass="my.app.accountmanager.UserCredentialsActivity" />
</PreferenceScreen>

私の問題は、インテントでエクストラとして渡す方法、または設定/アカウントと同期で選択したアカウントのアカウント情報を見つける方法です。このカスタム アカウント タイプのアカウントは複数存在する可能性があるため、そのタイプのアカウントを検索することはできません。選択したアカウントのデータが必要です。

私の考えは、大まかに次の領域にありました。

  1. エクストラを追加するには、xml に何かを含めます。これがどのように可能になるかわかりません。
  2. インテントのターゲットを AccountAuthenticator クラスまたは認証サービスにしますが、データを編集したいことをどのように渡すのですか? AbstractAccountAuthenticator には updateCredentials メソッドがあり、データ入力アクティビティにインテントを含むバンドルを返すため、EDIT アクションなどを渡すことができれば、おそらく機能する可能性があります。
  3. アカウント データを使用して独自のインテントを作成するために、どこかで何らかのメソッドをオーバーライドします。

複数のアカウントを許可していませんが、Samsung アプリと Dropbox アプリの両方がアカウントと同期からこれを行うため、これが可能であることを願っています...

4

1 に答える 1

1

AbstractAccountAuthenticator の accountPreferences 属性は間もなく廃止されると思います。JBでアカウントを見てみると、複数のアカウントを追加すると、このように表示されるようになっています

  1. account1@gmail.com
  2. account2@gmail.com
  3. 好み

それ以外の

  1. account1@gmail.com -> 設定
  2. account2@gmail.com -> 設定

また、Gmail アプリを見ると、Gmail の設定 (通知着信音) は Gmail アプリ自体で構成されており、[アカウントと設定] ページからは構成できません。

したがって、すべてのアカウントに共通の設定には、accountPreferences 属性のみを使用する必要があります。

于 2012-11-25T06:57:57.223 に答える