如何使用 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 相机获取图像