我试图使用Cordova中的Webview为Android 5.0制作混合网络应用程序。 我的目标是实现具有webRTC功能的应用程序。
我现在面临的问题是,webview未获得使用相机和麦克风的许可。
所以我认为我必须通过Cordova插件访问,这就是我需要帮助的地方。 这就是我到目前为止所得到的,但它似乎没有起作用。
任何帮助和建议表示赞赏。提前谢谢。
private static final String TAG = Permissions.class.getSimpleName();
private WebView mWebRTCWebView;
public void initialize(CordovaInterface cordova, CordovaWebView webView,LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.initialize(cordova, webView);
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
mWebRTCWebView = (WebView) rootView.findViewById(R.id.fragment_main_webview);
setUpWebViewDefaults(mWebRTCWebView);
mWebRTCWebView.loadUrl("file:///android_asset/www/index.html");
mWebRTCWebView.setWebChromeClient(new WebChromeClient() {
@Override
public void onPermissionRequest(final PermissionRequest request) {
Log.d(TAG, "onPermissionRequest");
getActivity().runOnUiThread(new Runnable() {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public void run() {
if(request.getOrigin().toString().equals("file:///android_asset/www/index.html")) {
request.grant(request.getResources());
} else {
request.deny();
}
}
});
}
});
}
答案 0 :(得分:0)
我真的不明白你想把这段代码放在哪里。从cordova插件取代webview听起来不是一个好主意,imho需要从cordova库中解决。