获取android设备唯一ID和用途
获取android设备唯一ID:
在android9及之前,我们还是可以获取设备的deviceID的,但是随着应用安全审查越来越严格,android的权限要求也越来越多,getDeviceId()越来越不能使用。
那么有没有其他的方法可以作为替代deviceID,作为设备唯一性的标记呢?
我发现小米的miui12系统可以通过/proc/serial_num获取到cpuid,并且在手机设置页面可以看到这个cpuid,就像可以查到deviceid一样。但这毕竟不通用,你换个其他系统,这一招就不好使。
找来找去最可靠的是下面这个方法,但是又不能在设备设置界面中找到这个值,只能通过编程方法获取。
Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
获取android设备唯一ID有什么用呢?
我能遇到的就两个,一个是获取设备定位,一个就是限定手机应用。
获取设备定位
有一天你的手机丢了,是不是想知道手机掉哪里了,其实手机厂商应该是知道的,只要手机还可以发出信号,可以进行位置定位,那它的位置定然会被知晓。
关键的问题就是你要把你的帐号信息和手机唯一编号关联起来。
限定手机应用
如果你有一个手机软件,但是只有买了你的设备才能使用这个软件,其他人的设备不能使用这款软件。那么就需要这你的手机唯一编号绑定到后台,可以起到一定的限定作用。
注册唯一编号的用途流程:
简单画了一下