【问题标题】:How can I get the android device id which I get on dialing " *#*#8255#*#* " [duplicate]如何获取拨号“*#*#8255#*#*”时获得的android设备ID [重复]
【发布时间】:2013-05-15 08:51:27
【问题描述】:

我如何获得拨号时获得的 android 设备 ID *#*#8255#*#*

我正在使用下面的代码,但它没有返回相同的......我想要什么

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

【问题讨论】:

标签: java android


【解决方案1】:

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

私有静态最终 Uri URI = Uri.parse("content://com.google.android.gsf.gservices"); 私有静态最终字符串 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。

【讨论】:

  • 我们是否还需要一些权限......因为它给出了一些运行时异常。
  • 我使用了以下权限,它工作正常...非常感谢...
  • 是的..您需要添加权限...对不起...很高兴它起作用了:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-05
  • 2014-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-07
相关资源
最近更新 更多