Android “如何修复”;未找到处理意图的活动“;

Android “如何修复”;未找到处理意图的活动“;,android,c++,qt,cryptocurrency,Android,C++,Qt,Cryptocurrency,我有一个适用于Android系统的可移植性QT桌面应用程序。 在这个应用程序中,我有一个按钮,用于打开一个特定的文件夹,其中有程序的备份。 在台式机上工作得很好,但是在安卓系统上我会出错 Windows 64位系统、QT Creator 4.6.1、加密依赖项:boost_1_57_0、qrencode-4.0.2、openssl-1.0.2r、db-6.0.20、MiniUPnP、IFADRS和apache-ant-1.9.4 void showBackups() { boost::f

我有一个适用于Android系统的可移植性QT桌面应用程序。 在这个应用程序中,我有一个按钮,用于打开一个特定的文件夹,其中有程序的备份。 在台式机上工作得很好,但是在安卓系统上我会出错

Windows 64位系统、QT Creator 4.6.1、加密依赖项:boost_1_57_0、qrencode-4.0.2、openssl-1.0.2r、db-6.0.20、MiniUPnP、IFADRS和apache-ant-1.9.4

void showBackups()
{
    boost::filesystem::path pathBackups = GetDataDir() / "backups";

    /* Open folder with default browser */
    if (boost::filesystem::exists(pathBackups))
        QDesktopServices::openUrl(QUrl::fromLocalFile(QString::fromStdString(pathBackups.string())));
}
资料来源:

实施承诺:


安装一个应用程序,该应用程序的活动支持该MIME类型的
ACTION\u VIEW
。Android用户不需要有这样的应用程序。注意,考虑到
Intent
结构,您也应该在Android 7.0+上使用
FileUrieExposedException
崩溃。我安装了ES FILE EXPLORER,但错误仍然存在。当这显然是
C++
时,是否有理由标记
C
?“但错误仍然存在”——我并不感到惊讶,考虑到
inode/directory
不是。我不使用Qt,我只能从您的代码和MIME类型猜测您正试图打开一个应用程序来浏览目录。这个概念在Android上并不存在。简单的解决方案就是不要在Android上调用它。或者,您可以构建自己的文件浏览器,记住它在Android Q/R及更高版本中将相当过时。
W/System.err(10372): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///sdcard/Spero/backups typ=inode/directory }
W/System.err(10372):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1861)
W/System.err(10372):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1534)
W/System.err(10372):    at android.app.Activity.startActivityForResult(Activity.java:4125)
W/System.err(10372):    at android.app.Activity.startActivityForResult(Activity.java:4072)
W/System.err(10372):    at android.app.Activity.startActivity(Activity.java:4396)
W/System.err(10372):    at android.app.Activity.startActivity(Activity.java:4364)
W/System.err(10372):    at org.qtproject.qt5.android.QtNative.openURL(QtNative.java:158)
W/System.err(10372):    at org.qtproject.qt5.android.QtNative.startQtApplication(Native Method)
W/System.err(10372):    at org.qtproject.qt5.android.QtNative$6.run(QtNative.java:359)
W/System.err(10372):    at org.qtproject.qt5.android.QtThread$1.run(QtThread.java:61)
W/System.err(10372):    at java.lang.Thread.run(Thread.java:818)