编辑自定义帐户

时间:2012-10-23 13:22:54

标签: android accountmanager

我已经创建了自己的自定义帐户,并且可以正常添加帐户并在应用中使用它。

我现在希望能够编辑帐户信息,而不是删除和添加帐户。我的帐户上有很多字段,有些字段可能有点冗长,因此删除和添加相当麻烦。

我已经通过添加自己的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类或authenciation服务,但我如何传入我想要编辑数据?由于AbstractAccountAuthenticator有一个方法updateCredentials,它返回一个意图为我的数据输入活动的包,如果我可以传递EDIT操作或类似的东西,这可能会有效。
  3. 在某处覆盖某个方法,以使用帐户数据创建我自己的意图。
  4. 我希望这可以做到,因为三星应用程序和Dropbox应用程序都是通过Accounts&amp;同步,虽然既不允许多个帐户......

1 个答案:

答案 0 :(得分:1)

我认为AbstractAccountAuthenticator中的accountPreferences属性很快就会过时。如果您查看JB中的帐户,如果您添加多个帐户,它将显示如下

  1. account1@gmail.com
  2. account2@gmail.com
  3. 偏好
  4. 而不是

    1. account1@gmail.com - &gt;偏好
    2. account2@gmail.com - &gt;偏好
    3. 如果您查看Gmail应用,Gmail的偏好设置(通知铃声)是在Gmail应用内配置的,无法通过帐户和放大器进行配置。设置页面。

      因此,您应该只对所有帐户通用的首选项使用accountPreferences属性。