Androidノート---Androidシステムの唯一の識別コードを取得

1552 ワード

コンピュータでは、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ビットの数字を表す.(出荷時の設定を変更する場合があります)