簡體   English   中英

唯一ID與Android應用ID和設備ID的組合

[英]Unique ID with combination of App id and Device id for android

如何獲得任何應用程序ID和設備ID組合的唯一ID。 因此,例如,一個應用程序的程序包名稱為“ com.myapp”,而一個Android設備具有唯一的ID(可以是wifi mac地址,藍牙ID或UDID)。 這兩個的組合應該是唯一的。 即使我再次卸載並安裝該應用程序,也應生成相同的ID。 如果還有其他使用相同技術的應用程序且在同一部手機上,則“唯一ID”應與我的應用程序不同,因為它們的包名稱不同。 另外,我應該在不同的手機上為同一應用程序獲得一個不同的ID。

是否有任何本機可用的ID可以滿足我的目的? 任何幫助,將不勝感激。 TIA。

嘗試這個

public static String getUniqueDeviceId(Context mContext) {
    String device_id = Settings.Secure.getString(
            mContext.getContentResolver(), Settings.Secure.ANDROID_ID);
    if ((device_id == null) || (device_id.equals("9774d56d682e549c"))
            || (device_id.length() < 15)) {
        device_id = new BigInteger(64, new SecureRandom()).toString(16);
    }
    Log.d("device_id", device_id);
    return device_id;
}

要獲取設備ID,您應該使用

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String mDeviceID = telephonyManager.getDeviceId();

現在,附加您的應用程序包名稱,以獲取應用程序的唯一ID。 是的,當您卸載並重新安裝應用程序時,此唯一標識符將保持不變。

不要忘記在清單中添加此權限。 感謝@ deepu513的評論。

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM