gpt4 book ai didi

java - Qt中如何调用context.getExternalFilesDir

转载 作者:行者123 更新时间:2023-11-28 04:11:07 27 4
gpt4 key购买 nike

我正在使用 Qt 5.13.0androidextras 库。使用 QAndroidJniObject 我试图调用 Java 方法 context.getExternalFilesDir(null),以获得 /storage/emulated/0/Android/data 路径。 QStandardPaths 没有涵盖这条路径,所以我想我不得不这样做。所有 native Android 应用程序都在 /storage/emulated/0/Android/data 中具有以下命名法的目录:com.company.appname。我正试图在 Qt 中完成同样的事情。在我的 list XML 文件中,我设置了正确的包名称。

我不知道如何在 C++ 代码中使用 QAndroidJniObject 来获取路径。

最佳答案

QAndroidJniObject Class有一些关于如何使用 jni 的信息,但通常需要一些实践才能理解它是如何工作的。

这应该会为您提供所需的结果。我把它放在里面 main.cpp , 但把它放在你需要的地方,并确保添加 #include <QtAndroidExtras>在您的 .h 或 .cpp 文件中:

auto androidContext = QtAndroid::androidContext();

QAndroidJniObject dir = QAndroidJniObject::fromString(QString(""));

QAndroidJniObject path = androidContext.callObjectMethod("getExternalFilesDir",
"(Ljava/lang/String;)Ljava/io/File;",
dir.object());

qInfo() << "Path: " + path.toString();

输出:"Path: /storage/emulated/0/Android/data/org.qtproject.example.untitled/files"

关于java - Qt中如何调用context.getExternalFilesDir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57770837/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com