GSF-KEY-ID (google-service-framework-id) als Android-Gerät eindeutige id
Ich eindeutig identifizieren müssen ein Android-Gerät. Ich Las über die ANDROID_ID, aber es scheint Probleme zu haben, mit Android 2.2. Dann gibt es andere Kennungen bezogen auf TelephonyManager, aber ich Schätze, Sie funktioniert nicht auf tablets.
So, nach etwas suchen, funktioniert auf jedem Gerät, stolperte ich über das GSF-KEY-ID (google-service-framework-id). Do you guys denke, das ist eine zuverlässige und immer funktionierende Lösung?
Dies ist der code, den ich gefunden zum abrufen der GSF-KEY-ID:
private static String getGsfAndroidId(Context context)
{
Uri URI = Uri.parse("content://com.google.android.gsf.gservices");
String ID_KEY = "android_id";
String params[] = {ID_KEY};
Cursor c = context.getContentResolver().query(URI, null, null, params, null);
if (!c.moveToFirst() || c.getColumnCount() < 2)
return null;
try
{
return Long.toHexString(Long.parseLong(c.getString(1)));
}
catch (NumberFormatException e)
{
return null;
}
}
Was ist der URI-hier in der code-snippet?
sorry, ich habe vergessen, es in das snippet, jetzt ist es ok
sorry, ich habe vergessen, es in das snippet, jetzt ist es ok
InformationsquelleAutor user2461515 | 2014-03-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Fall jemand fragt sich, ob diese Methode funktioniert, die Antwort ist ja, ich habe es versucht (und es in eine app-ich habe auf den Android market mit tausenden von downloads) und es funktioniert. Hinweis: die GSF ID-SCHLÜSSEL ändert sich jedes mal, wenn der Benutzer macht einen factory reset oder versaut mit Google-Diensten, aber es war gut genug für meine Zwecke.
com.google.android.providers.gsf.permission.READ_GSERVICES
Erlaubnis?Nein, es braucht keine Erlaubnis
Gut, ich musste in meinem Fall (Nexus 5 mit Android 5.0), ansonsten wird eine Ausnahme ausgelöst. Können Sie überprüfen, ob es Arbeit für Sie Ihre Nutzer mit einem Nexus 5 mit Android 5.0?
InformationsquelleAutor user2461515
mit Android Studio, bekomme ich auto-Empfehlungen von Flusen. hier ist der code, nach überarbeitet. kann es lösen Ausnahmen berichtet von https://stackoverflow.com/users/423171/cprcrack
InformationsquelleAutor Dika
Nicht sprechen kann, über Produktion und tests, aber mir ist aufgefallen, dass bei meinem Nexus 5 mit Android 5.0, die ich hatte, um die folgende Erlaubnis:
com.google.android.providers.gsf.permission.READ_GSERVICES
. Ansonsten wird eine Ausnahme ausgelöst, wenn Sie mit Ihrem code.InformationsquelleAutor cprcrack