在计算机上,我们习惯用mac地址来标志一台计算机。在android设备上,可以用imie或者android id来标志一个设备。
看一下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位的数字,在设备第一次启动的时候随机生成并在设备的整个生命周期中不变。(如果重新进行出厂设置可能会改
变)