Android studio 如何使用webview同时获得麦克风和摄像头权限
当我试图访问WebView中同时需要麦克风和摄像头访问的页面时,出现错误“grant()或deny()已被调用” 这是我的onPermissionRequest,但由于某些原因,如果同时请求了这两个请求,应用程序就会崩溃,但只有一个请求似乎可以正常工作Android studio 如何使用webview同时获得麦克风和摄像头权限,android-studio,webview,Android Studio,Webview,当我试图访问WebView中同时需要麦克风和摄像头访问的页面时,出现错误“grant()或deny()已被调用” 这是我的onPermissionRequest,但由于某些原因,如果同时请求了这两个请求,应用程序就会崩溃,但只有一个请求似乎可以正常工作 override fun onPermissionRequest(permissionRequest: PermissionRequest?) { Log.d(TAG, "onJSPermission
override fun onPermissionRequest(permissionRequest: PermissionRequest?) {
Log.d(TAG, "onJSPermissionRequest")
val mPermissionRequest: PermissionRequest? = permissionRequest
for (request in permissionRequest?.resources!!){
if (request == PermissionRequest.RESOURCE_VIDEO_CAPTURE){
val alertDialogBuilder = AlertDialog.Builder(mContext)
.setTitle("Allow Permission to Camera access!")
.setPositiveButton("Allow") { dialog, which ->
dialog.dismiss()
mPermissionRequest?.grant(arrayOf(PermissionRequest.RESOURCE_VIDEO_CAPTURE))
}
.setNegativeButton("Deny") { dialog, which ->
dialog.dismiss()
mPermissionRequest?.deny()
}
val alertDialog = alertDialogBuilder.create()
alertDialog.show()
}
if(request == PermissionRequest.RESOURCE_AUDIO_CAPTURE){
val alertDialogBuilder = AlertDialog.Builder(mContext)
.setTitle("Allow Permission to Microphone access!")
.setPositiveButton("Allow") { dialog, which ->
dialog.dismiss()
mPermissionRequest?.grant(arrayOf(PermissionRequest.RESOURCE_AUDIO_CAPTURE))
}
.setNegativeButton("Deny") { dialog, which ->
dialog.dismiss()
mPermissionRequest?.deny()
}
val alertDialog = alertDialogBuilder.create()
alertDialog.show()
}
}
}
override fun onPermissionRequestCanceled(request: PermissionRequest?) {
super.onPermissionRequestCanceled(request)
Toast.makeText(mContext,"Permission Denied",Toast.LENGTH_SHORT).show()
}
}
}
我知道问题是因为我请求了两次授权(在其中一种情况下删除grant命令可以解决崩溃问题,但现在授予了权限),但两个请求的资源不同