天天看点

获取Android系统的唯一识别码

 在计算机上,我们习惯用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位的数字,在设备第一次启动的时候随机生成并在设备的整个生命周期中不变。(如果重新进行出厂设置可能会改

变)

继续阅读