2015-06-23 29 views
6

Sto cercando di utilizzare bb: Sistema :: screenshot in questo modoBlackberry 10 screenshot errore

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(); 

Il problema è il nome del file è sempre vuoto e screenshot.error() ha sempre valori di errore. Ecco cosa dice il debugger alla riga "qualcosa è andato storto":

screenshot.error() Errore: errori multipli riportati. \ Impossibile eseguire il comando MI: -var-create - * screenshot.error() Messaggio di errore da back end del debugger: impossibile trovare il metodo bb :: system :: screenshot :: error \ Impossibile creare l'oggetto variabile

Non sai cosa significa?

EDIT: ho spostato la definizione della variabile screenshot di fuori l'istruzione if e vedere questo errore:

Name : error 
    Details:bb::system::ScreenshotError::PermissionDenied 
    Default:bb::system::ScreenshotError::PermissionDenied 
    Decimal:2 
    Hex:0x2 
    Binary:10 
    Octal:02 

Il problema è che sicuramente hanno i permessi impostati correttamente:

<!-- 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> 

Dalla documentazione, Ho bisogno di "Permessi: L'applicazione deve avere le autorizzazioni use_camera_desktop e access_shared per utilizzare questa funzione."

risposta