|
|
@ -12,10 +12,25 @@ |
|
|
|
#include "QGCApplication.h" |
|
|
|
#include "QGCApplication.h" |
|
|
|
#include "AndroidInterface.h" |
|
|
|
#include "AndroidInterface.h" |
|
|
|
#include <QAndroidJniObject> |
|
|
|
#include <QAndroidJniObject> |
|
|
|
|
|
|
|
#include <QtAndroid> |
|
|
|
|
|
|
|
|
|
|
|
QString AndroidInterface::getSDCardPath() |
|
|
|
QString AndroidInterface::getSDCardPath() |
|
|
|
{ |
|
|
|
{ |
|
|
|
QAndroidJniObject value = QAndroidJniObject::callStaticObjectMethod("org/mavlink/qgroundcontrol/QGCActivity", "getSDCardPath", |
|
|
|
QAndroidJniObject value = QAndroidJniObject::callStaticObjectMethod("org/mavlink/qgroundcontrol/QGCActivity", "getSDCardPath", |
|
|
|
"()Ljava/lang/String;"); |
|
|
|
"()Ljava/lang/String;"); |
|
|
|
return value.toString(); |
|
|
|
QString sdCardPath = value.toString(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QString readPermission("android.permission.READ_EXTERNAL_STORAGE"); |
|
|
|
|
|
|
|
QString writePermission("android.permission.WRITE_EXTERNAL_STORAGE"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (QtAndroid::checkPermission(readPermission) == QtAndroid::PermissionResult::Denied || |
|
|
|
|
|
|
|
QtAndroid::checkPermission(writePermission) == QtAndroid::PermissionResult::Denied) { |
|
|
|
|
|
|
|
QtAndroid::PermissionResultMap resultHash = QtAndroid::requestPermissionsSync(QStringList({ readPermission, writePermission })); |
|
|
|
|
|
|
|
if (resultHash[readPermission] == QtAndroid::PermissionResult::Denied || |
|
|
|
|
|
|
|
resultHash[writePermission] == QtAndroid::PermissionResult::Denied) { |
|
|
|
|
|
|
|
return QString(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return sdCardPath; |
|
|
|
} |
|
|
|
} |
|
|
|