需要帮助从黑莓z10上收到的电子邮件复制文件。
我已经试过了,但是没有成功。任务是加载文件从收到的电子邮件点击它。已经实现,我的应用程序打开点击以.kdp结尾的文件。
bar-descriptor.xml:
<invoke-target id="com.example.MyApp">
<invoke-target-type>application</invoke-target-type>
<invoke-target-name>Name of my App</invoke-target-name>
<icon>
<image>icon.png</image>
</icon>
<filter>
<action>bb.action.OPEN</action>
<mime-type>*</mime-type>
<property var="exts" value="kdp"/>
<property var="uris" value="file://,data://"/>
</filter>
</invoke-target>
下一步是将InvokeManager与插槽连接:
m_invokeManager = new InvokeManager(this);
bool connectResult;
connectResult = m_invokeManager->connect(m_invokeManager, SIGNAL(invoked(const bb::system::InvokeRequest&)), this, SLOT(onInvoke(const bb::system::InvokeRequest&)));
我正在寻找的是一个很好的解决方案来复制文件,这是点击:
void ApplicationUI::onInvoke(const bb::system::InvokeRequest& request) {
qDebug() << "called on clicked file.kdp";
InvokeRequest myRequest = (request);
myRequest.setFileTransferMode(bb::system::FileTransferMode::CopyReadOnly);
QFile appFile(QDir::currentPath() + "/data/data.kdp");
appFile.open(QIODevice::WriteOnly);
appFile.close();
QString from = myRequest.uri().toString();
QString to = QDir::currentPath() + "/data/data.kdp";
bool test = QFile::copy(from, to);// don't work
qDebug() << test; // <--is false, don't work
qDebug() << "URL r: " + request.uri().toString();//<-- can see the path to file, but allways different
qDebug() << "URL m: " + myRequest.uri().toString();}
数据。kdp是一个像zip格式,只需要从电子邮件复制文件到我的应用程序…请帮助:D
QString m_uri = request.uri().toString();QFile文本文件(m_uri.replace("文件://"," ").toUtf8 () .constData ());只需替换path!中的"file://"