Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Device Unique id in Windows Phone 8.1

How to get the device unique id in Windows Phone 8.1? The old way of using DeviceExtendedProperties.GetValue("DeviceUniqueId") does not work for Windows Universal app.

like image 591
MohanRajNK Avatar asked Apr 27 '14 09:04

MohanRajNK


2 Answers

private string GetDeviceID()
{
    HardwareToken token = HardwareIdentification.GetPackageSpecificToken(null);
    IBuffer hardwareId = token.Id;

    HashAlgorithmProvider hasher = HashAlgorithmProvider.OpenAlgorithm("MD5");
    IBuffer hashed = hasher.HashData(hardwareId);

     string hashedString = CryptographicBuffer.EncodeToHexString(hashed);
     return hashedString;
}

Hope this help !

like image 137
thongaduka Avatar answered Nov 17 '22 07:11

thongaduka


Note that when you write Universal App, it can be installed not only on phone. While on Phone technically hardware configuration is the same, on other devices it can change and so its ID. That's I think there is no such universal method to get ID. (more information you can find also here).

You may have a look at HardwareIdentification class and its method GetPackageSpecificToken:

HardwareToken myToken = HardwareIdentification.GetPackageSpecificToken(null);
IBuffer hardwareId = myToken.Id;

There is also a Guidance on using the App Specific Hardware ID (ASHWID) to implement per-device app logic.

like image 23
Romasz Avatar answered Nov 17 '22 07:11

Romasz