В настоящее время я использую WebView для открытия веб-страницы, которая записывает видео и аудио. Для этого я использую права доступа
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
. После того, как пользователь завершил запись своего короткого видео, он переносится на новый экран на той же веб-странице. Отсюда время от времени пользователю может быть предложено загрузить файл со своего мобильного устройства, для этого я использую явное намерение «ACTION_CHOOSER». Это открывает внешнее приложение поверх моего приложения и помещает мое приложение в фоновый режим. Проблема в том, что, хотя запись потока завершена, и микрофон больше не используется, пользователь по-прежнему видит предупреждение, в котором говорится «Микрофон используется».
Я бы предположил, что предупреждение отображаетсяпотому что я получил это разрешение, и деятельность, размещающая веб-просмотр, останавливается только в фоновом режиме, но веб-просмотр не будет уничтожен. Однако, поскольку видео уже записано и микрофон больше не используется, я бы хотел, чтобы предупреждение не отображалось.
Разрешение предоставляется следующим образом:
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onPermissionRequest(PermissionRequest request) {
request.grant(request.getResources());
}
Iхотел бы знать, есть ли способ отозвать разрешение, если я уверен, что микрофон больше не потребуется. Или, если есть какой-либо другой способ убедиться, что веб-просмотр не записывает звук, когда микрофон больше не нужен.