6#ifndef QT_NO_STANDARDPATHS
8#include <QtCore/qjniobject.h>
9#include <QtCore/qmap.h>
10#include <QtCore/qcoreapplication.h>
36 return path.toString();
49 QJniObject file = QJniObject::callStaticMethod<QtJniTypes::File>(
"android/os/Environment",
50 "getExternalStorageDirectory");
67 QJniObject dirField = QJniObject::getStaticField<jstring>(
"android/os/Environment",
69 if (!dirField.isValid())
72 QJniObject file = QJniObject::callStaticMethod<QtJniTypes::File>(
"android/os/Environment",
73 "getExternalStoragePublicDirectory",
74 dirField.object<jstring>());
91 QJniObject appCtx = QAndroidApplication::context();
92 if (!appCtx.isValid())
95 QJniObject dirField = QJniObject::fromString(
""_L1);
96 if (directoryField && strlen(directoryField) > 0) {
97 dirField = QJniObject::getStaticField<QtJniTypes::Environment, jstring>(directoryField);
98 if (!dirField.isValid())
102 QJniObject file = appCtx.callMethod<QtJniTypes::File>(
"getExternalFilesDir",
103 dirField.object<jstring>());
121 QJniObject appCtx = QAndroidApplication::context();
122 if (!appCtx.isValid())
125 QJniObject file = appCtx.callMethod<QtJniTypes::File>(
"getExternalCacheDir");
142 QJniObject appCtx = QAndroidApplication::context();
143 if (!appCtx.isValid())
146 QJniObject file = appCtx.callMethod<QtJniTypes::File>(
"getCacheDir");
163 QJniObject appCtx = QAndroidApplication::context();
164 if (!appCtx.isValid())
167 QJniObject file = appCtx.callMethod<QtJniTypes::File>(
"getFilesDir");
176 return (QNativeInterface::QAndroidApplication::sdkVersion() >= 30)
200 return QAndroidApplication::sdkVersion() >= 30 ?
232 if (QNativeInterface::QAndroidApplication::sdkVersion() < 30) {
bool isEmpty() const noexcept
Returns true if the byte array has size 0; otherwise returns false.
static QString cleanPath(const QString &path)
Returns path with directory separators normalized (that is, platform-native separators converted to "...
static bool isTestModeEnabled()
static QStringList standardLocations(StandardLocation type)
static QString writableLocation(StandardLocation type)
StandardLocation
This enum describes the different locations that can be queried using methods such as QStandardPaths:...
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLocal8Bit(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool isEmpty() const
Returns true if the string has no characters; otherwise returns false.
Combined button and popup list for selecting options.
#define Q_GLOBAL_STATIC(TYPE, NAME,...)
GLsizei const GLchar *const * path
GLuint const GLint * locations
static QString getExternalCacheDir()
static QString getExternalStorageDirectory()
static QString getExternalFilesDir(const char *directoryField=nullptr)
static QString getSdkBasedExternalDir(const char *directoryField=nullptr)
static QString getExternalStoragePublicDirectory(const char *directoryField)
static QString getAbsolutePath(const QJniObject &file)
QT_BEGIN_NAMESPACE Q_DECLARE_JNI_CLASS(Environment, "android/os/Environment")
QMap< QString, QString > AndroidDirCache
static QString getCacheDir()
static QString getFilesDir()
Q_DECLARE_JNI_TYPE(File, "Ljava/io/File;")
QLatin1StringView QLatin1String
#define QStringLiteral(str)
Q_CORE_EXPORT QByteArray qgetenv(const char *varName)