1

Cordova의 Webview를 사용하여 Android 5.0 용 하이브리드 웹 애플리케이션을 만들려고합니다. 내 목표는 webRTC 기능이있는 앱을 구현하는 것입니다.Android Lollipop의 Cordova webview에서 카메라 액세스 권한이 없습니다.

지금 당면한 문제는 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

코드 스 니펫을 어디에 넣을 지 잘 모르겠습니다. 코드 뷰어 플러그인에서 webview를 대체하는 것은 좋은 생각처럼 들리지 않습니다. 즉, 코드바 라이브러리에서 해결해야합니다.

나는 PR을 열었다 : https://github.com/apache/cordova-android/pull/178