【问题标题】:Android AccountManager alias for name名称的 Android AccountManager 别名
【发布时间】:2016-07-07 17:25:19
【问题描述】:

我在应用程序中使用 AccountAuthenticator 和 SyncAdapter,对于存储在 AccountManager 中的帐户,我使用自己的 ACCOUN_TYPE 和服务器特定标识符作为 ACCOUNT_NAME(假设分别为“com.example.account_type”和“xxx-long-hashed-id” )。 我必须使用此身份来使该帐户与另一个帐户区分开来,因为据我了解 AccountManager 使用类型和名称来确保帐户的唯一性。

问题是,当我打开我的应用程序的系统设置->帐户页面时,我看到这个丑陋的标识符作为名称,但我想把与这个身份相关联的用户名放在那里(我也在联系人应用程序中看到这个 - 我在那里导出联系人)。如果我开始使用用户名作为 ACCOUNT_NAME,任何时候我在我的应用程序中更改用户名,我都会在那里看到另一个帐户,尽管它应该是相同的。是否有任何方法或解决方法可以使用身份作为名称,但向系统提供用户可读的名称?

【问题讨论】:

    标签: android accountmanager


    【解决方案1】:

    不,Android 中没有帐户别名机制。使用实际用户名是创建帐户的预期方式。如果您需要更改帐户名称,则必须删除并重新添加该帐户。对于 API 级别 21+,有一个名为 AccountManager.renameAccount(...) 的方法,但它的作用基本相同。将任何数据从旧帐户迁移到新帐户取决于您的应用,Android 不会为您执行此操作。

    关于帐户的唯一性,如果帐户名称在您帐户类型的所有帐户中是唯一的就足够了。因此,鉴于您服务的所有用户都有唯一的用户名,因此无需担心。

    【讨论】:

      猜你喜欢
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-27
      • 2016-12-05
      • 2012-06-12
      • 1970-01-01
      • 2012-08-26
      相关资源
      最近更新 更多