diff options
author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2020-02-22 00:52:17 +0200 |
---|---|---|
committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2020-02-27 12:41:19 +0200 |
commit | 3dc663c06955790120c9ca3748cb2caad87cad73 (patch) | |
tree | 1dcfa6ed65a8a52662c9ee9fd37dd7e3570653a0 /examples/multimedia/video/qmlvideofx/main.cpp | |
parent | 70f5eb4f707ce84cbf153899d33d6bd8656be682 (diff) |
Examples: request Android storage permissions when using QStandardPaths
Some examples uses QStandardPaths, on Android permissions might need to
be explicitly requested to read/write to those paths.
Task-number: QTBUG-80717
Change-Id: Ifb52e1c13ed99dcc82fb79a305b64e538596db7c
Reviewed-by: VaL Doroshchuk <valentyn.doroshchuk@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'examples/multimedia/video/qmlvideofx/main.cpp')
-rw-r--r-- | examples/multimedia/video/qmlvideofx/main.cpp | 21 |
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; |