這里主要介紹一下如何在WebView中申請(qǐng)權(quán)限(例如Camera、Microphone等權(quán)限)
可以通過(guò)設(shè)置自定義WebChromeClient來(lái)使用PermissionRequest。
例如:mWebView.setWebChromeClient(mWebChromeClient);
在WebChromeClient實(shí)現(xiàn)中,您需要覆蓋onPermissionRequest。 當(dāng)Web內(nèi)容請(qǐng)求訪(fǎng)問(wèn)某些資源的權(quán)限時(shí),將調(diào)用此方法,從而提供批準(zhǔn)或拒絕請(qǐng)求的選擇。 我們需要彈出一個(gè)對(duì)話(huà)框,允許用戶(hù)批準(zhǔn)或拒絕任何請(qǐng)求。?
@Override
public void onPermissionRequest(PermissionRequest request) {}
?此外,覆蓋onPermissionRequestCanceled以處理Web內(nèi)容對(duì)PermissionRequest的取消。
當(dāng)用戶(hù)確認(rèn)或拒絕請(qǐng)求時(shí),您可以分別通過(guò)授予或拒絕回復(fù)Web內(nèi)容。
授權(quán): mPermissionRequest.grant(mPermissionRequest.getResources());
拒絕: mPermissionRequest.deny();