Initial commit
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:device_info_plus/device_info_plus.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
|
||||
/// Fragt die zum Lesen der Musik nötige Berechtigung an und meldet, ob erteilt.
|
||||
/// - Android 13+ (API 33): READ_MEDIA_AUDIO
|
||||
/// - Android < 13: READ_EXTERNAL_STORAGE
|
||||
/// - iOS / Desktop: kein Laufzeit-Grant nötig (Sandbox bzw. vom Nutzer gewählte
|
||||
/// Ordner sind bereits freigegeben).
|
||||
Future<bool> ensureAudioPermission() async {
|
||||
if (!Platform.isAndroid) return true;
|
||||
final info = await DeviceInfoPlugin().androidInfo;
|
||||
final permission =
|
||||
info.version.sdkInt >= 33 ? Permission.audio : Permission.storage;
|
||||
final status = await permission.request();
|
||||
return status.isGranted;
|
||||
}
|
||||
|
||||
/// Öffnet die System-Einstellungen der App (für dauerhaft verweigerte Rechte).
|
||||
Future<void> openMusicPermissionSettings() => openAppSettings();
|
||||
Reference in New Issue
Block a user