2

Windows Phone 8.1でデバイス ID を取得したい。

DeviceExtendedPropertiesまたはDeviceStatusはWP8.1では使用できません (名前空間はありませんMicrosoft.Phone.Info)。EasClientDeviceInformationそこから取得できないクラスを見つけましたIdIdプロパティには例外があります。

ここに画像の説明を入力

また、他のプロパティは一意ではありません。

ここには別の解決策がありますが、使用するのが安全か信頼できるかはわかりません: (?)
https://stackoverflow.com/a/23537207/3682369

4

1 に答える 1

5

はい、ご利用いただけますGetPackageSpecificToken()。私はそれを調べましたが、他の方法は見つかりませんでした。プロパティにはハードウェア情報が含まれていると MSDN は述べていIdますが、実際には、同じモデルであっても、どのデバイスに対しても一意の値です。したがって、それを使用してユーザーのデバイスを識別することができます。

これが私のアプリケーションでの使用方法です。私のコードを自由に使用してください:

private string GetDeviceId()
{
    var token = Windows.System.Profile.HardwareIdentification.GetPackageSpecificToken(null);
    var hardwareId = token.Id;
    var dataReader = Windows.Storage.Streams.DataReader.FromBuffer(hardwareId);

    byte[] bytes = new byte[hardwareId.Length];
    dataReader.ReadBytes(bytes);

    return BitConverter.ToString(bytes).Replace("-", "");
}
于 2014-12-22T12:24:38.603 に答える