如何使用 Qt API 在 android 中获取`/sdcard` 路径 [重复]

Posted

技术标签:

【中文标题】如何使用 Qt API 在 android 中获取`/sdcard` 路径 [重复]【英文标题】:How can I get `/sdcard` path in android using Qt APIs [duplicate] 【发布时间】:2017-07-19 20:37:09 【问题描述】:

我在安卓上使用QtApp。我的QtApp 也有一个androidManifest.xml,我可以在其中声明我的应用所需的android 权限。

我的应用能够将任何内容保存到应用的私有目录/data/user/0/com.something.something.myapp/files/

现在,我希望能够创建文件并将其保存到我的 android 设备的 /sdcard/Download/ 文件夹中。但我无法将任何内容保存到/sdcard/Download/ !!

我在 Manifest 中也声明了以下权限。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

我在这里缺少什么?我在android上执行以下调用获取应用程序目录

QString app_private_location = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);

问题:是否有一些Qt API 可以在android 中获取/sdcard 路径? 还是我必须为此依赖android本机代码?我尝试手动传递/sdcard/Download/,但没有帮助。

【问题讨论】:

在原生 android 上它被称为 getExternalStorage() 尝试找到它 我知道android原生调用getExternalStorage获取/sdcard。我正在寻找一个 API 是 Qt,它可以给我同样的东西。我的应用是带有 C++ 应用的 Qt 【参考方案1】:

您必须在 Qt Android Extras 模块中使用 JNI 来获取路径。您可以在这篇文章中找到您想要的示例:

How to get the android <shared-storage> path from Qt?

【讨论】:

以上是关于如何使用 Qt API 在 android 中获取`/sdcard` 路径 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Qt/C++ 小部件(不是 QML)从 Android 相机获取图像

如何从 Qt 获取 android <shared-storage> 路径?

Qt 和 Android - 从图库中的图像获取路径

如何通过 Qt 在 Android 和桌面中使用相机

如何在 Qt for android 上获取应用程序参数

如何获取鼠标在控件中位置.MFC和API都行 谢谢