android 笔记 --- 获取Android系统的唯一识别码
16lz
2021-12-04
在计算机上,我们习惯用MAC地址来标志一台计算机。在Android设备上,可以用IMIE或者Android ID来标志一个设备。
看一下Android上怎样获取这样的信息。
一个是TelephonyManager的getDeviceId,另外一个是Settings.System的ANDROID_ID
这里贴一段测试代码:
tm.getDeviceId()表示唯一的设备ID,例如对于GSM手机返回IMEI,对于CDMA手机返回MEID,如果设备不可用则返回NULL,比如在模拟器上。
System.getString(getContentResolver(), System.ANDROID_ID)表示一个64位的数字,在设备第一次启动的时候随机生成并在设备的整个生命周期中不变。(如果重新进行出厂设置可能会改变)
看一下Android上怎样获取这样的信息。
一个是TelephonyManager的getDeviceId,另外一个是Settings.System的ANDROID_ID
这里贴一段测试代码:
package com.npc4.android.imie;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.telephony.TelephonyManager;import android.util.Log;import android.provider.Settings.System;/** * @author lixinso * 获取系统的唯一标识 */public class IMIE extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getImieStatus(); getAndroidId(); }private void getImieStatus() {TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);String deviceId = tm.getDeviceId();Log.e("DEVICE_ID ", deviceId + " ");}private void getAndroidId(){String androidId = System.getString(getContentResolver(), System.ANDROID_ID);Log.e("ANDROID_ID", androidId + " ");}}
tm.getDeviceId()表示唯一的设备ID,例如对于GSM手机返回IMEI,对于CDMA手机返回MEID,如果设备不可用则返回NULL,比如在模拟器上。
System.getString(getContentResolver(), System.ANDROID_ID)表示一个64位的数字,在设备第一次启动的时候随机生成并在设备的整个生命周期中不变。(如果重新进行出厂设置可能会改变)
更多相关文章
- Android内核和驱动篇-Android内核介绍
- android定位的实现
- Android(安卓)获取SHA1和SHA256的值
- Android中的几种网络请求方式详解
- android google地图定位开发,且可以自由移动位置重新获取定位,地址
- 巧解Android时区加载过慢的问题
- Android(安卓)Native C development (2) -- framebuffer
- [置顶] Android(安卓)《手机卫士》随听笔记
- android studio 获取证书指纹 SHA1