创建了一个服务应用程序来模拟密钥。将Thread类重写为MyThread类以模拟关键点。
代码片段:
Object*
MyThread::Run(void)
{
AppLog("MyThread :: Object* Run(void)");
Tizen::Ui::KeyCode keyToSimulate = Tizen::Ui::KEY_A;
result r = Tizen::Ui::SystemUtil::GenerateKeyEvent(Tizen::Ui::KEY_EVENT_TYPE_PRESSED, keyToSimulate);
AppLog("KEY_EVENT_TYPE_PRESSED [%d] and result :: %s", keyToSimulate, GetErrorMessage(r));
r = Tizen::Ui::SystemUtil::GenerateKeyEvent(Tizen::Ui::KEY_EVENT_TYPE_RELEASED, keyToSimulate);
AppLog("KEY_EVENT_TYPE_RELEASED [%d] and result :: %s", keyToSimulate, GetErrorMessage(r));
return null;
}在OnAppInitialized()中创建了一个线程实例并启动,如下所示:
mpMyThread = new MyThread;
mpMyThread->Construct();
mpMyThread->Start();GenerateKeyEvent结果显示为E_PRIVILEGE_DENIED。我的问题是,MyThread类是否具有与父类相同的权限?如果不是,我如何在MyThread类中发送事件?
谢谢,
Anil
发布于 2013-12-02 11:01:48
Tizen::Ui::SystemUtil::GenerateKeyEvent()是特权API。你的应用程序的manifest.xml中应该有'http://tizen.org/privilege/inputmanager‘。API的权限级别是“平台”。你还应该有一个平台级别的特权签名来签署你的应用程序。
https://stackoverflow.com/questions/20283521
复制相似问题