【发布时间】:2014-10-20 14:22:50
【问题描述】:
我正在尝试在黑莓 10 原生中获取硬件设备的默认信息,所以基本上我正在尝试访问设备的 IMEI 或 SERIAL NUMBER。 p>
我尝试过使用以下代码
main.cpp
#include "applicationui.hpp"
#include <bb/cascades/Application>
#include <bb/device/HardwareInfo>
#include <QLocale>
#include <QTranslator>
#include <Qt/qdeclarativedebug.h>
using namespace bb::cascades;
Q_DECL_EXPORT int main(int argc, char **argv)
{
qmlRegisterUncreatableType<bb::device::HardwareInfo>("bb.device", 1, 0, "HardwareInfo", "");
Application app(argc, argv);
ApplicationUI appui;
return Application::exec();
}
applicationui.cpp
#include "applicationui.hpp"
#include <bb/cascades/Application>
#include <bb/cascades/QmlDocument>
#include <bb/cascades/AbstractPane>
#include <bb/device/HardwareInfo>
#include <bb/cascades/Label>
using namespace bb::cascades;
using namespace bb::device;
ApplicationUI::ApplicationUI() :
QObject()
{
HardwareInfo hwInfo;
QmlDocument *qml = QmlDocument::create("asset:///main.qml").parent(this);
qml->setContextProperty("_hardware", &hwInfo);
AbstractPane *root = qml->createRootObject<AbstractPane>();
Application::instance()->setScene(root);
}
main.qml
Page {
Container {
Label {
id: showIMEI
}
Button {
text: "Click me"
onClicked: {
showIMEI.text = "IMEI = " + _hardware.serialNumber;
//showIMEI.text = "IMEI = " + _hardware.imei;
}
}
}
}
但是当我点击一个按钮时,我没有得到任何数据 IMEI 或 SerialNumber 而不是 imei 或 序列号。但我总是遇到像
这样的错误'_hardware' [undefined] is not an object.
注意:我已经在我的 .PRO
中添加了以下库LIBS += -lbbsystem
LIBS += -lbbdevice
LIBS += -lbbdata
并获得对我的 XML 文件的许可。
read_device_identifying_information
我也通过许多链接进行了研究,例如,
【问题讨论】:
标签: c++ qml blackberry-10 imei