天天看點

擷取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位的數字,在裝置第一次啟動的時候随機生成并在裝置的整個生命周期中不變。(如果重新進行出廠設定可能會改

變)

繼續閱讀