【问题标题】:Disable deleting of SharedPreferences via Android Application Manager禁用通过 Android 应用程序管理器删除 SharedPreferences
【发布时间】:2014-02-20 20:11:33
【问题描述】:

当用户通过 android 应用程序管理器删除应用程序数据时,有没有办法禁止删除 sharedPreferences?

我正在与用户一起构建应用程序。我只想为每部手机启用一个用户,所以在第一个屏幕中我让用户登录/注册,然后我将他们的信息放在共享首选项中。当他们在登录/注册后启动应用程序时,应用程序检查有关用户的共享首选项,如果它们存在,它会启动应用程序的第二个屏幕。

那么是否可以禁用他们的删除,如果不是,我如何获得某种唯一的设备编号或其他东西,我可以将其存储在我的在线数据库中,并检查一个用户是否通过该移动设备注册他试图用另一个用户登录?

【问题讨论】:

    标签: android sharedpreferences


    【解决方案1】:

    无法禁用删除 SharedPreferences。

    但您可以使用强逻辑来满足您的要求。

    服务器上为注册用户存储设备IMEI号

    您可以通过服务器查看IMEI号,并相应显示注册或登录界面。

    确保在登录时发送 IMEI 号。检查在设备上注册的用户是否仅登录。

    【讨论】:

    • 我怎样才能得到设备的imei号码?
    • TelephonyManager telephonyManager = (TelephonyManager)c.getSystemService(Context.TELEPHONY_SERVICE);字符串 imei = telephonyManager.getDeviceId(); c 是 Context 你需要
    • 没有 TELEPHONY_SERVICE 的平板电脑怎么办?
    • 您可以使用 GCM 生成的注册 id。它对每个设备都是唯一的 link 从 gcm 获取 reg id 非常简单,只需调用 GCM 的 register() 方法
    【解决方案2】:

    当用户通过 android 应用程序管理器删除应用程序数据时,有没有办法禁止删除 sharedPreferences?

    没有。他们还可以通过“设置”中他们的应用程序的“清除数据”按钮摆脱SharedPreferences。 Root 的设备用户也可以直接删除该文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      • 2017-02-03
      • 2016-05-03
      • 2023-02-05
      • 2023-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多