bb10 级联将图像分享到社交媒体

bb10 cascades Sharing Image to Social Media

我正在使用此功能,用户可以将图像分享到 Facebook 和 Twitter 等社交媒体。 该图像是某些屏幕的屏幕截图。截取屏幕截图后,我检查了图库,图像位于 "Device/photos/image1.jpeg".

现在我想把这张图片分享到社交媒体上。 这是我的代码:

void invoke(QString target){
    InvokeManager invokeManager;
    InvokeRequest request;

    request.setAction("bb.action.SHARE");
//   target == "Facebook" or "Twitter"
    request.setTarget(target);

//    request.setMimeType("text/plain");
    request.setMimeType("image/jpeg");

//    request.setUri(QUrl("Device/photos/image1.jpeg"));
    request.setUri(QUrl::fromLocalFile("Device/photos/image1.jpeg"));

    InvokeTargetReply *targetReply = invokeManager.invoke(request);
    invokeManager.setParent(this);

    if (targetReply == NULL) {
            qDebug() << "InvokeTargetReply is NULL: targetReply = " ;
        } else {
            qDebug() << "reply != NULL ";
//            qDebug() << "targetReply : " << targetReply->setParent(this);
            qDebug() << "request action :  " << request.action();
            qDebug() << "request target :  " << request.target();
            qDebug() << "request uri :  " << request.uri();
            qDebug() << "request mime :  " << request.mimeType();

            targetReply->setParent(this);
        }
}

调用此函数时,没有任何反应。我在控制台上看到,它打印了 "reply != NULL",这意味着 invokeTargetReply 已经回复了我的请求。但什么也没发生。

我尝试将 mimeType 更改为 "text/Plain" 所以它只是将纯文本共享到 Facebook。它工作正常。 我猜错误出在文件的 URI 上。我不确定 setUri 的正确方法是怎样的。 谁能帮我 ? 将不胜感激。

谢谢 此致,

瑜伽

我能够通过将 setUri 更改为此来解决它:

QString workingDir = QDir::currentPath();
request.setUri(QUrl("file://" + workingDir + "/shared/photos/image1.jpeg"));

谢谢!