問題場(chǎng)景:app內(nèi)嵌套一個(gè)H5做的聊天頁(yè)面刽宪,發(fā)送語音消息需要申請(qǐng)麥克風(fēng)權(quán)限;
清單文件權(quán)限是:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
問題一:頁(yè)面彈框提示
image.png
大寫的what睦袖?芜繁?旺隙?我明明動(dòng)態(tài)申請(qǐng)錄音權(quán)限了啊
最后查到解決方法;原因是webview需要在WebChromeClient中重寫onPermissionRequest方法骏令,代碼如下:
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
}
@Override
public void onPermissionRequest(PermissionRequest request) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//直接同意即可 deny是拒絕
request.grant(request.getResources());
}
}
});
myWebView.loadUrl(webUrl);
原以為就這么解決了蔬捷,事與愿違第二個(gè)問題來了,彈框提示這個(gè)
image.png
最終看到這篇文章榔袋,傳送門:http://www.voidcn.com/article/p-bshmzkhc-bub.html
解決方法很簡(jiǎn)單周拐,就是在清單文件加入這個(gè)權(quán)限就好了 ????
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
至此,沒有問題了凰兑,可以正常使用了妥粟!給自己點(diǎn)贊??
給自己做個(gè)筆記的同時(shí)也希望能幫助到別人,喜歡的可以點(diǎn)個(gè)關(guān)注吏够,隨時(shí)溝通探討技術(shù)勾给。