【已解决】 Webview js表单获取安卓文件 可能性
因需求在webview上调用了js的东西 input进行调用本机的文件内容
在浏览器和生成二维码使用微信扫一扫这个功能都是可以实现调用本机文件
但是我自身webview点击确实没反应
想了一晚上 要么是权限问题 要么是webview的setting设置问题
不过昨晚搜了说是android有安全沙箱机制 不给网页直接调用本机内容
排查点1 -- 权限:
下面是我动态权限的内容
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.INTERNET, // 这个动态权限应该不用 我刚刚加上去的
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS
排查点2 -- webview的setting问题
webView.getSettings().setJavaScriptEnabled(true);
// 优先使用缓存
// webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
// 自适应屏幕
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setDomStorageEnabled(true);
//设置定位的数据库路径
String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
webView.getSettings().setGeolocationDatabasePath(dir);
webView.getSettings().setGeolocationEnabled(true);
webView.addJavascriptInterface(new Amap(), "amap");//Amap类对象映射到js的test对象
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
webView.setWebContentsDebuggingEnabled(true);
}
排查点3 -- 是否实现方案不可达
js中的input表单能否调用安卓文件
【js中的input表单能否调用安卓文件】这个描述,我压根看不懂。
我只能猜。
猜测:你是不是要在webview上传文件?
比如选择某个图片,然后上传,或者其他文件进行上传?
如果是,正确问题是:Android webview如何上传文件
往Google一贴,完事了。
描述问题,不能直接描述局部的一个点,因为上下文全靠猜