summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/video/qmlvideofx/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/multimedia/video/qmlvideofx/main.cpp')
-rw-r--r--examples/multimedia/video/qmlvideofx/main.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/multimedia/video/qmlvideofx/main.cpp b/examples/multimedia/video/qmlvideofx/main.cpp
index 814c85368..ec547795f 100644
--- a/examples/multimedia/video/qmlvideofx/main.cpp
+++ b/examples/multimedia/video/qmlvideofx/main.cpp
@@ -61,6 +61,23 @@
#include "performancemonitordeclarative.h"
#endif
+#ifdef REQUEST_PERMISSIONS_ON_ANDROID
+#include <QtAndroid>
+
+bool requestStoragePermission() {
+ using namespace QtAndroid;
+
+ QString permission = QStringLiteral("android.permission.WRITE_EXTERNAL_STORAGE");
+ const QHash<QString, PermissionResult> results = requestPermissionsSync(QStringList({permission}));
+ if (!results.contains(permission) || results[permission] == PermissionResult::Denied) {
+ qWarning() << "Couldn't get permission: " << permission;
+ return false;
+ }
+
+ return true;
+}
+#endif
+
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
@@ -68,6 +85,10 @@ int main(int argc, char *argv[])
#ifdef PERFORMANCEMONITOR_SUPPORT
PerformanceMonitor::qmlRegisterTypes();
#endif
+#ifdef REQUEST_PERMISSIONS_ON_ANDROID
+ if (!requestStoragePermission())
+ return -1;
+#endif
QUrl fileName;
qreal volume = 0.5;