如何获取拨号时获得的Android设备ID * # * # 8 2 5 5 # * # *
我正在使用以下代码,但它不会返回相同的...我想要的
String android_id = Secure.getString(getActivity()
.getContentResolver(), Secure.ANDROID_ID);
答案 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。