2012-01-07 104 views
2

我正在開發一個能夠獲取推送通知的android應用程序。但我需要有一個deviceId才能使它成功,因爲我沒有任何android手機,我曾經在模擬器中測試該應用程序。所以我的問題是,我可以爲我的模擬器獲取deviceId。如何獲取Android模擬器的deviceId?

+0

你的意思ANDROID_ID? http://stackoverflow.com/questions/4402262/device-identifier-of-android-emulator – kingston 2012-01-07 12:50:11

回答

3

您無法在android中獲取設備ID,但您可以獲取推送通知的IMEI號碼。 bcoz所有設備都有不同的IMEI號碼。在模擬器中,默認情況下獲得0000000000000作爲您的IMEI,但在設備中獲得完美的數字。下面是代碼即可獲得IMEI號碼

TelephonyManager telephonyManager1 = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
    String imei = telephonyManager1.getDeviceId(); 
+0

問我,如果您有任何進一步查詢 – 2012-01-07 13:05:21

+0

但考慮到沒有移動數據連接不具有IMEI是平板電腦 – kingston 2012-01-08 14:02:39

1

命令'adb devices'還列出了可以給出設備ID的活動模擬器。

1

使用此方法,這作品平板電腦和手機

public String getDeviceID(Context context) { 
       TelephonyManager manager = 
        (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); 
       String deviceId; 
       if (manager.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) { 
        //Tablet 
        deviceId = Secure.getString(this.getContentResolver(), 
          Secure.ANDROID_ID); 

       } else { 
        //Mobile 
        deviceId = manager.getDeviceId(); 

       } 
       return deviceId; 
      } 
0

這對我的作品

public static String getIMEI() { 
    String IMEI = Settings.Secure.getString(getApplicationContext().getContentResolver(),Settings.Secure.ANDROID_ID); 
    return IMEI; 
}