diff --git a/src/libs/core/Android/tandroid.cpp b/src/libs/core/Android/tandroid.cpp index 215c08f9be356368887eada1fa8ece7b39d9868b..fa89a809c5305c09ebccd11f0bcb72511717b830 100644 --- a/src/libs/core/Android/tandroid.cpp +++ b/src/libs/core/Android/tandroid.cpp @@ -20,6 +20,7 @@ #include "tandroid.h" #include <QtAndroidExtras/qandroidfunctions.h> #include <QtAndroidExtras/qandroidjnienvironment.h> +#include <QtCore/qdebug.h> void Tandroid::setScreenLockDisabled() { @@ -40,14 +41,17 @@ void Tandroid::setScreenLockDisabled() { QString Tandroid::getExternalPath() { - QAndroidJniObject extDirObject = - QAndroidJniObject::callStaticObjectMethod("android/os/Environment", "getExternalStorageDirectory", "()Ljava/io/File;"); - QAndroidJniObject externalPath = extDirObject.callObjectMethod( "getAbsolutePath", "()Ljava/lang/String;" ); - QAndroidJniEnvironment env; - if (env->ExceptionCheck()) { - env->ExceptionClear(); - } - return externalPath.toString(); + QString extPath = qgetenv("SECONDARY_STORAGE"); + if (extPath.isEmpty()) + extPath = qgetenv("EXTERNAL_STORAGE"); // return primary storage path (device internal) + return extPath; +// QAndroidJniObject extDirObject = +// QAndroidJniObject::callStaticObjectMethod("android/os/Environment", "getExternalStorageDirectory", "()Ljava/io/File;"); +// QAndroidJniObject externalPath = extDirObject.callObjectMethod( "getAbsolutePath", "()Ljava/lang/String;" ); +// QAndroidJniEnvironment env; +// if (env->ExceptionCheck()) +// env->ExceptionClear(); +// return externalPath.toString(); } diff --git a/src/libs/core/tglobals.cpp b/src/libs/core/tglobals.cpp index dfc9412c664e506f69479876e1eeb45e6fbfe90a..55afd04e8b1df08e16d6a1bcba16ba47a9221d62 100644 --- a/src/libs/core/tglobals.cpp +++ b/src/libs/core/tglobals.cpp @@ -28,6 +28,9 @@ #include "touch/ttouchproxy.h" #include "tlayoutparams.h" #include "tinitcorelib.h" +#if defined (Q_OS_ANDROID) + #include <Android/tandroid.h> +#endif #include <QDir> #include <QSettings> #include <QCoreApplication> @@ -223,8 +226,8 @@ void Tglobals::loadSettings(QSettings* cfg) { E->expertsAnswerEnable = cfg->value("expertsAnswerEnable", false).toBool(); E->studentName = cfg->value("studentName", QString()).toString(); #if defined (Q_OS_ANDROID) - E->examsDir = cfg->value("examsDir", qgetenv("EXTERNAL_STORAGE")).toString(); - E->levelsDir = cfg->value("levelsDir", qgetenv("EXTERNAL_STORAGE")).toString(); + E->examsDir = cfg->value("examsDir", Tandroid::getExternalPath()).toString(); + E->levelsDir = cfg->value("levelsDir", Tandroid::getExternalPath()).toString(); #else E->examsDir = cfg->value("examsDir", QDir::homePath()).toString(); E->levelsDir = cfg->value("levelsDir", QDir::homePath()).toString();