Add runtime microphone permission request for WebRTC calls
The RECORD_AUDIO permission was declared in the manifest but never requested at runtime, causing WebRTC to fail on Android 6+. Now requests microphone permission on app startup before initializing the WebView. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
import 'package:webview_flutter/webview_flutter.dart';
|
||||
import 'package:webview_flutter_android/webview_flutter_android.dart';
|
||||
import '../services/push_notification_service.dart';
|
||||
@@ -40,6 +41,15 @@ class _PhoneScreenState extends State<PhoneScreen> with WidgetsBindingObserver {
|
||||
super.initState();
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
_pushService = PushNotificationService();
|
||||
_requestPermissionsAndInit();
|
||||
}
|
||||
|
||||
Future<void> _requestPermissionsAndInit() async {
|
||||
// Request microphone permission before initializing WebView
|
||||
final micStatus = await Permission.microphone.request();
|
||||
if (micStatus.isDenied || micStatus.isPermanentlyDenied) {
|
||||
debugPrint('TWP: Microphone permission denied: $micStatus');
|
||||
}
|
||||
_initWebView();
|
||||
_initPush();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user