我已经创建了自己的自定义帐户,并且可以正常添加帐户并在应用程序中使用它。
我现在希望能够编辑帐户信息,而不是删除和添加帐户。我的帐户上有许多字段,有些可能有点冗长,因此删除和添加相当麻烦。
我已经通过添加我自己的 PreferenceScreen 并通过我的 account-authenticator 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>
我的问题是,我如何在意图中作为附加信息传递或找到我在设置/帐户和同步中选择的帐户的帐户信息。这种自定义帐户类型可能有多个帐户,因此我不能只搜索该类型的任何帐户。我需要来自所选帐户的数据。
我的想法大致在这些方面:
- 在 xml 中包含一些内容以添加额外内容。不明白这怎么可能。
- 意图的目标是我的 AccountAuthenticator 类或身份验证服务,但我如何传递我想要编辑数据?由于 AbstractAccountAuthenticator 有一个 updateCredentials 方法,它返回一个包含我的数据输入活动意图的包,如果我可以传入一个 EDIT 操作或类似的东西,这可能会起作用。
- 在某处覆盖某些方法以使用帐户数据创建我自己的意图。
我希望这是可能的,因为三星应用程序和 Dropbox 应用程序都可以从 Accounts & Sync 执行此操作,尽管它们都不允许多个帐户...