commit f589cf8e92c043f6cfee7ab9507f5253404a97c4
parent 856949ceef752ed22a7fd968432ab052a00348a8
Author: Orangerot <purple@orangerot.dev>
Date: Wed, 8 Jan 2025 12:13:05 +0100
fix: request external storage for api level >= 33
Diffstat:
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
@@ -1,5 +1,9 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The following permission is related to the eSense library -->
+
+<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
+<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
+<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission
android:name="android.permission.BLUETOOTH"
android:maxSdkVersion="30" />
diff --git a/lib/level_selection.dart b/lib/level_selection.dart
@@ -2,6 +2,7 @@ import 'dart:io';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart';
+import 'package:permission_handler/permission_handler.dart';
import 'package:sense_the_rhythm/esense_connect_dialog.dart';
import 'package:sense_the_rhythm/esense_input.dart';
import 'package:sense_the_rhythm/simfile.dart';
@@ -43,6 +44,7 @@ class _LevelSelectionState extends State<LevelSelection> {
}
Future<void> selectFolder() async {
+ await Permission.manageExternalStorage.request();
String? selectedFolder = await FilePicker.platform.getDirectoryPath();
if (selectedFolder != null) {