2012-01-07 672 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; 
}