使用 android AdvancedWebView 访问视频

Video access with android AdvancedWebView

有没有办法通过 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);
    }
}

 mWebView.setGeolocationEnabled(true); 

line 给出了位置权限就好了,视频有类似的东西吗?

设法让它发挥作用! 在网络浏览器中使用相机捕捉功能后,授予相机权限:

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

清单:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" />

目前仅在 android 5 次测试。