【发布时间】:2019-09-25 07:45:02
【问题描述】:
我正在尝试实现一个启动视频意图的 webview,并将视频返回到 webView。
我想做什么:
1) Java - 添加打开视频捕获意图的 webAppInterface:
mWebView = (WebView) findViewById(R.id.webView);
mWebView.addJavascriptInterface(webAppInterface, "Android");
public class WebAppInterface {
...
public void dispatchTakeVideoIntent() {
Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
takeVideoIntent.putExtra(android.provider.MediaStore.EXTRA_DURATION_LIMIT,10);
if (takePictureIntent.resolveActivity(mContext.getPackageManager()) != null) {
((AppCompatActivity) mContext).startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE);
}
}
...
2) JavaScript - 从 web 视图调用它:
Android.dispatchTakeVideoIntent()
3) Java - 获取 Uri,并将路径发送到我的 webview
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == Activity.RESULT_OK) {
Uri videoUri = intent.getData();
wView.loadUrl("javascript:test('" + videoUri.getPath() + "')");
}
}
4) JavaScript - 在我的 webView 中获取路径
window.test = (videoUriPath) => {
...
}
我的问题是,如何访问视频?
也许有一种完全不同的方式来解决它?
【问题讨论】:
标签: javascript java android webview android-storage