使用 android AdvancedWebView 进行视频访问

Moi*_*sés 3 android webview android-webview

有没有办法使用AdvancedWebView授予我的 android 应用程序相机访问权限?

本机 webview 是可能的,但本机不允许通过 < input type="file"> 上传文件,所以现在我可以上传文件,但没有摄像头。

主要代码:

public class MainActivity extends ActionBarActivity implements AdvancedWebView.Listener {

private AdvancedWebView mWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mWebView = (AdvancedWebView) findViewById(R.id.webview);
        mWebView.setListener(this, this);
        mWebView.setGeolocationEnabled(true);
        mWebView.loadUrl(url);
    }
}
Run Code Online (Sandbox Code Playgroud)

 mWebView.setGeolocationEnabled(true); 
Run Code Online (Sandbox Code Playgroud)

行给予位置许可就好了,视频有类似的东西吗?

Moi*_*sés 5

设法让它发挥作用!一旦您的相机捕捉在 webbrowser 中工作,授予相机权限:

public void iniciaWebView(){

mWebView = (AdvancedWebView) findViewById(R.id.webview);
mWebView.setListener(this, this);
mWebView.setGeolocationEnabled(true);
mWebView.addHttpHeader("X-Requested-With", appNomeLogs);

mWebView.setWebChromeClient(new WebChromeClient() {
    @Override
    public void onPermissionRequest(final PermissionRequest request) {
        Log.i(appNomeLogs, "|> onPermissionRequest");

        MainActivity.this.runOnUiThread(new Runnable(){
            @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            public void run() {
                Log.i(appNomeLogs, "|> onPermissionRequest run");
                request.grant(request.getResources());
            }// run
        });// MainActivity

    }// onPermissionRequest
});// setWebChromeClient

mWebView.loadUrl(url);

}// iniciaWebView
Run Code Online (Sandbox Code Playgroud)

显现:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" />
Run Code Online (Sandbox Code Playgroud)

到目前为止只在 android 5 中测试过。