我需要获取设备的唯一ID。我原本以为我会使用设备的imei,但似乎没有返回任何信息:
import QtSystemInfo 5.0
DeviceInfo {
id: device
}
Component.onCompleted {
console.log(device.imei(0)) // Returns nothing
}
那可能是也可能不是错误:https : //bugs.launchpad.net/ubuntu/+source/qtsystems-opensource-src/+bug/1197542但由于一年来没有任何更新,我希望我可以使用其他一些信息。
那么,有谁知道我如何获得该设备的唯一ID?它必须是持久的,但是除了作为标识符之外,它可能完全没有意义。
正如dobey所说,无法在受限应用程序中获取IMEI,因此我放弃了尝试根据设备本身获取ID的方法。相反,我只是生成一个UUID并将其存储在U1DB中。
// uuid.js
.pragma library
function generateUUID(){
var d = new Date().getTime();
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = (d + Math.random()*16)%16 | 0;
d = Math.floor(d/16);
return (c === 'x' ? r : (r&0x3|0x8)).toString(16);
});
return uuid;
};
// Elsewhere
U1db.Database {
id: db
path: "settings"
}
U1db.Document {
id: user
database: db
docId: "user"
create: true
defaults: {
"userId": ""
}
}
// Somewhere I need the userId
Item {
id: thing
Component.onCompleted: {
userId: user.contents.userId
if (!userId) {
userId = Uuid.generateUUID()
var userContents = user.contents
userContents.userId = userId
user.contents = userContents
}
return userId
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句