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