Samsung Galaxy SIII设备上Account消失的问题及解决方法

11次阅读
没有评论

问题描述

开发的应用程序能够在“账户与同步”中创建帐户,但部分使用Galaxy SIII手机的用户反馈,在每次重启后账号会莫名消失。这种情况并不出现在其他品牌的手机中。

解决方案

请注意以下操作可能会对版本产生依赖,请确保相关系统版本信息一致或提前做好兼容性测试。

方案1:针对Android 4.1 Jelly Bean Bug

根据一位高投票回答的内容,这可能与Android 4.1 Jelly Bean版本引入的一个Bug有关。该Bug可能导致安装了包含账户服务的付费应用程序时,会自动将应用安装至/mnt/asec目录下。而一旦安装到此目录的应用程序在启动过程中检测到DRM和加密机制时,用户的所有相关信息(包括账户)会被删除或重新初始化。

该问题的影响

  • 系统版本:主要影响使用的是Android 4.1 Jelly Bean及其后续版本的设备。
  • 应用程序类型:特别可能出现在包含DRM、密码保护等特性的付费应用中。
解决方案:
  1. 因为在用户重启手机时,包含账户服务的应用程序被删除或重新安装了/mnt/asec目录下的文件,从而导致账户信息丢失。
  2. 对于开发者而言,需避免将包含加密及DRM保护的付费应用直接安装到/mnt/asec路径,并考虑为这些应用单独创建安装包。

测试与验证

  • 开发者可以自行准备一个具有DRM功能的虚拟付费应用环境,在模拟用户重启过程中检查账户服务的状态是否依然存在。
  • 可以联系其他拥有同样问题报告的用户,进行更为全面地测试和反馈。

方案2:使用工作补丁避免账户丢失

针对这一Bug问题,社区中提供了一种较为简便的工作补丁方案。这种修复方法是创建一个免费应用程序(该程序可以被任意版本安装),然后通过启动这个免费应用来保护含有DRM功能的付费应用中的账户不受此Bug影响。

实施步骤

  1. 编写补丁App:开发一个简易的应用程序,其主要目的是在设备首次运行时验证用户账户的存在,并确保这些账户不会因系统重启而丢失。
  2. 部署与推广:向所有需要保护账户功能的付费应用分发这个免费的补丁应用程序。确保所有用户都可以在第一次安装付费应用后立即启动并使用此“防护”程序。
  3. 定期更新:对于付费应用,保持频繁更新以解决任何潜在Bug,并确保始终提供最新的账户信息。

通过这种方式,即便存在设备上的自动删除行为,也可以保证用户的账户数据得以保留。

总结:
– 解决方案1主要适合于开发者和有一定技术基础的用户进行尝试与验证;
– 方案2则为一种更简便但需要较多资源投入的方式。对于广大开发者而言,在应用开发初期即考虑此Bug的影响并采取补救措施,能够很大程度上降低用户的不满反馈率并提升产品的可用性。

正文完