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"));
谢谢!
我正在使用此功能,用户可以将图像分享到 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"));
谢谢!