如何获取我在拨打“*#*#8255#*#*”时获得的android设备ID

时间:2013-05-15 08:51:28

标签: java android

如何获取拨号时获得的Android设备ID * * 8 2 5 5 * *

我正在使用以下代码,但它不会返回相同的...我想要的

String android_id = Secure.getString(getActivity()
                .getContentResolver(), Secure.ANDROID_ID);

enter image description here

1 个答案:

答案 0 :(得分:5)

我认为您尝试的代码可能会返回动态ID。试试这个。

private static final Uri URI = Uri.parse(“content://com.google.android.gsf.gservices”);        private static final String ID_KEY =“android_id”;

   String getAndroidId(Context ctx) {
       String[] params = { ID_KEY };
       Cursor c = ctx.getContentResolver()
               .query(URI, null, null, params, null);
       try{

       if (!c.moveToFirst() || c.getColumnCount() < 2){
           return null;
       }
       }catch(Exception e){
           return null;
       }

       try {
           Toast.makeText(ctx, Long.toHexString(Long.parseLong(c.getString(1))), 500).show();
           System.out.println("android id  " + Long.toHexString(Long.parseLong(c.getString(1))));

           return Long.toHexString(Long.parseLong(c.getString(1)));

       } catch (NumberFormatException e) {
           return null;
       }
   }

在上面的代码Long.toHexString(Long.parseLong(c.getString(1)))中,返回android设备ID。