The Google Services Framework Identifier (GSF ID) is a unique 16 character hexadecimal number that your device automatically requests from Google as soon as you log to your Google Account for the first time. For a specific device, the GSF ID will change only after a factory reset. To get this information programmatically, you need to do two steps.
A) Add the following to your manifest
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
B) Execute the following code
private static final Uri sUri = Uri.parse("content://com.google.android.gsf.gservices"); public static String getGSFID(Context context) { try { Cursor query = context.getContentResolver().query(sUri, null, null, new String[] { "android_id" }, null); if (query == null) { return "Not found"; } if (!query.moveToFirst() || query.getColumnCount() < 2) { query.close(); return "Not found"; } final String toHexString = Long.toHexString(Long.parseLong(query.getString(1))); query.close(); return toHexString.toUpperCase().trim(); } catch (SecurityException e) { e.printStackTrace(); return null; } catch (Exception e2) { e2.printStackTrace(); return null; } }
This post is also available in: Αγγλικα