我目前正在尝试检索唯一的设备标识符.这是我的代码:
var token = Windows.System.Profile.HardwareIdentification.getPackageSpecificToken(null); var reader = Windows.Storage.Streams.DataReader.fromBuffer(token.id); reader.unicodeEncoding = true; var identifier = reader.readString(reader.unconsumedBufferLength); console.log(identifier);
但它会引发以下错误:
The operation attempted to access data outside the valid range.
如何检索token.id字符串的大小?我也尝试使用token.id.length,但结果是一样的.
解决方法
我不能尝试复制你当前正在做的事情,但你可能会尝试将其作为字节读入数组,如下所示:
var array = new Array(token.id.length); reader.readBytes(array);
然后将数组转换为标识符的字符串.
请参阅以下帖子中的示例:
> http://social.msdn.microsoft.com/Forums/en-US/winappswithhtml5/thread/1e2175e3-fe07-4094-9454-b3ecf1bf0381
> http://social.msdn.microsoft.com/Forums/en-US/winappswithhtml5/thread/cdf72b9f-b3c0-488e-b607-b4445a5039b3