2012-03-15 144 views
3

我想我需要更多的瞭解UUID的實際工作原理。我正在開發一個應用程序,我希望應用程序在用戶第一次下載並運行應用程序時生成一個UUID。每次用戶下載應用程序時,是否可以生成新的uuid?應用程序生成UUID?

http://developer.android.com/reference/java/util/UUID.html 也許如果有另一個網站,而不是android開發人員,我可以理解或看到使用uuid sombody的例子,可以sombody後?謝謝。

+0

這[post](http://android-developers.blogspot.com/2011/03/identifying-app-installations.html)應該回答你的問題。 – mkso 2012-03-15 04:54:36

+0

OKAY所以這篇文章是超好的,即時通過代碼,但即時通訊無法理解文件實際上是在寫UUID。它被寫入一個「安裝」文件夾 – 2012-03-16 04:49:38

回答

4

這裏是生成的代碼UUID:

String android_id = Secure.getString(getApplicationContext() 
      .getContentResolver(), Secure.ANDROID_ID); 
    Log.i("System out", "android_id : " + android_id); 

    final TelephonyManager tm = (TelephonyManager) getBaseContext() 
      .getSystemService(Context.TELEPHONY_SERVICE); 

    final String tmDevice, tmSerial, androidId; 
    tmDevice = "" + tm.getDeviceId(); 
    Log.i("System out", "tmDevice : " + tmDevice); 
    tmSerial = "" + tm.getSimSerialNumber(); 
    Log.i("System out", "tmSerial : " + tmSerial); 
    androidId = "" 
      + android.provider.Settings.Secure.getString(
        getContentResolver(), 
        android.provider.Settings.Secure.ANDROID_ID); 

    UUID deviceUuid = new UUID(androidId.hashCode(), ((long) tmDevice 
      .hashCode() << 32) 
      | tmSerial.hashCode()); 
    String UUID = deviceUuid.toString(); 
    Log.i("System out", "UUID : " + UUID); 
+0

我會添加檢查null爲tm作爲getSystemService如果請求服務不存在於特定設備上,則可能返回null。 – mar3kk 2016-02-25 10:10:21

14
UUID uuid = UUID.randomUUID(); 

這應該爲你生成一個隨機的UUID供您使用怎麼過你的願望。

+0

我希望3年前有過這個答案。我現在明白了,謝謝。 – 2015-07-07 16:27:17

+0

哈哈我真的來到這個線程,因爲我一直在尋找答案,然後在Android開發人員文檔中偶然發現'.randomUUID()',並認爲id在這裏發佈它更可能是出現在更新版本的SDK。 – 2015-07-07 18:38:00

+0

這肯定是uniq? – savepopulation 2015-12-18 09:21:32