Explorar el Código

修复麦克风录音权限,适配低版本Android api

stoney hace 2 semanas
padre
commit
fdade69561

+ 1 - 0
app/src/main/AndroidManifest.xml

@@ -5,6 +5,7 @@
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.CAMERA" />
     <uses-permission android:name="android.permission.RECORD_AUDIO" />
+    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
 
     <application
         android:allowBackup="true"

+ 10 - 2
app/src/main/java/com/zjznai/safetycheck/MainActivity.kt

@@ -277,7 +277,7 @@ class MainActivity : AppCompatActivity() {
                 javaScriptEnabled = true
                 domStorageEnabled = true
                 loadsImagesAutomatically = true
-                mixedContentMode = WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE
+                mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW
                 mediaPlaybackRequiresUserGesture = false
                 builtInZoomControls = false
                 displayZoomControls = false
@@ -391,7 +391,15 @@ class MainActivity : AppCompatActivity() {
         }
 
         if (missingPermissions.isEmpty()) {
-            request.grant(request.resources)
+            val grantedResources = request.resources.filter { resource ->
+                resource == PermissionRequest.RESOURCE_VIDEO_CAPTURE ||
+                resource == PermissionRequest.RESOURCE_AUDIO_CAPTURE
+            }
+            if (grantedResources.isNotEmpty()) {
+                request.grant(grantedResources.toTypedArray())
+            } else {
+                request.deny()
+            }
             pendingPermissionRequest = null
         } else {
             mediaPermissionLauncher.launch(missingPermissions.toTypedArray())