我正在尝试使用bb:system::屏幕截图,如下所示
request.setTarget("sys.pim.uib.email.previewer");
// Set the action that the target app should execute
request.setAction("bb.action.VIEW");
// Set the MIME type of the data
request.setMimeType("message/rfc822");
// Specify the location of the data
request.setUri(QUrl("pim:message/rfc822:" + QString::number(accountId) +":" + QString::number(messageId)));
InvokeTargetReply *reply = invokeManager.invoke(request);
sleep( 2 );
//Screenshot
bb::system::Screenshot screenshot;
QString filename = screenshot.captureDisplay();
if (filename.isEmpty()) {
// Something went wrong
bb::system::ScreenshotError::Type error = screenshot.error();
}
//Close Email
invokeManager.closeChildCard();问题是文件名总是空的,screenshot.error()总是有错误值。以下是调试器在“出了问题”一行时说的话:
screenshot.error()错误:报告了多个错误。\未能执行MI命令:-var-create -* screenshot.error()来自调试器后端的错误消息:未能找到方法bb::system::屏幕快照::Error \无法创建变量对象
不知道这意味着什么?
编辑:我将屏幕快照变量定义移到if语句之外,并看到了以下错误:
Name : error
Details:bb::system::ScreenshotError::PermissionDenied
Default:bb::system::ScreenshotError::PermissionDenied
Decimal:2
Hex:0x2
Binary:10
Octal:02问题是,我确实正确地设置了权限:
<!-- Request permission to execute native code. Required for native applications. -->
<permission system="true">run_native</permission>
<permission>access_pimdomain_contacts</permission>
<permission>read_device_identifying_information</permission>
<permission>access_pimdomain_messages</permission>
<permission>bbm_connect</permission>
<permission>access_pimdomain_calendars</permission>
<permission>use_camera</permission>
<permission>use_camera_desktop</permission>
<permission>use_gamepad</permission>
<permission>access_internet</permission>
<permission>access_location_services</permission>
<permission>record_audio</permission>
<permission>read_personally_identifiable_information</permission>
<permission>access_pimdomain_notebooks</permission>
<permission>access_notify_settings_control</permission>
<permission>access_phone</permission>
<permission system="true">_sys_inject_voice</permission>
<permission>read_phonecall_details</permission>
<permission>access_pimdomain_calllogs</permission>
<permission>control_phone</permission>
<permission>post_notification</permission>
<permission system="true">_sys_use_consumer_push</permission>
<permission>run_when_backgrounded</permission>
<permission system="true">_sys_run_headless</permission>
<permission system="true">_sys_headless_nostop</permission>
<permission>access_shared</permission>
<permission>access_sms_mms</permission>
<permission>access_wifi_public</permission>从文档中,我需要“权限:应用程序必须具有use_camera_desktop和access_shared权限才能使用此特性”。
发布于 2015-06-29 14:28:39
这显然是黑莓模拟器中的一个bug,可以追溯到10.2模拟器( 10.2模拟器是在引入屏幕截图库时使用的,因此您不能再回到更远的位置了)。我向黑莓开发顾问证实了这一点。(请在此找到所需的http://supportforums.blackberry.com/t5/Native-Development/Error-Capturing-and-saving-a-screen-shot-in-BB10-c/td-p/3112490登录)
https://stackoverflow.com/questions/31006079
复制相似问题