Android安装两次才成功,如何在Android上的两次应用安装之间保留数...

要在应用程序安装/重新安装之间唯一地标识一个应用程序,您需要获取其硬件ID并将其用作您的凭据/密钥.

要获取hardwareID,可以使用以下方法:

public static String getHardwareId(Context context) {

return Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);

}

它与UUID部分等效,但以下情况除外:如果在设备上执行了出厂重置,则该值可能会更改.

我之所以称其为“部分等效”是因为:

HardwareID是一个64位数字(作为十六进制字符串),在用户首次设置设备时会随机生成,并且在用户设备的整个生命周期内应保持不变.如果在设备上执行了出厂重置,则该值可能会更改.

注意:当一个设备有多个用户(在运行Android 4.2或更高版本的某些设备上可用)时,每个用户都显示为完全独立的设备,因此ANDROID_ID值对于每个用户都是唯一的.

但这遇到了第二个问题:在哪里以及如何存储它;将其存储在SharedPreferences中是无用的,因为如果卸载了该应用程序,则将被擦除.与/data/data/your.package.name/my_stored_keys文件夹相同,因为在卸载过程中也会从手机中删除该文件夹.

如果您希望在卸载和重新安装应用程序之间保持一致,则需要将其保存在服务器端.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值