首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bb10级联社交媒体共享图像

bb10级联社交媒体共享图像
EN

Stack Overflow用户
提问于 2015-02-24 06:48:23
回答 1查看 91关注 0票数 0

我正在使用这个功能,用户可以在Facebook和Twitter等社交媒体上共享一张图片。这个图像是一些屏幕的截图。当截图被拍摄时,我在图片库上查看,图像被定位为“设备/照片/Image1.jpeg”。

现在我想和社交媒体分享这个形象。这是我的密码:

代码语言:javascript
复制
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的正确方法是什么。有人能帮我吗?如果能提供最小的帮助,我们将不胜感激。

谢谢你,

瑜伽

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-24 07:08:41

通过将setUri更改为以下内容,我能够解决这个问题:

代码语言:javascript
复制
QString workingDir = QDir::currentPath();
request.setUri(QUrl("file://" + workingDir + "/shared/photos/image1.jpeg"));

谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28689734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档