bb10 cascades分享图像到社交媒体

时间:2015-02-24 06:48:24

标签: qt share blackberry-10 blackberry-cascades 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的正确方法是什么。 谁能帮我 ? 非常感谢最小的帮助。

由于 的问候,

瑜伽

1 个答案:

答案 0 :(得分:0)

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

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

谢谢!