webView显示html到Js调用手机功能到Base64的方式将数据返回到Html中
2014-02-23 17:12
656 查看
搞啦一天终于弄出来啦,还是细节地方出来问题,自己没注意到,所以写代码也一定不能粗心啊!
我所实现的主要是:html中通过Js调用手机相机,然后用Base64将手机相机拍到的照片显示到webView的html中。
WebView中显示html我就不多说啦!
js调用手机功能也很简单
function getCamera(){
javascript:myjavascript.getCamera();
}这只是js代码,具体的myjavascript类需要自己写,调用的就是其中的方法getCamera(),然后启动相机
然后在Activity中的onActivityResult方法中获取照相所产生的图片
然后将图片转成bitmap 类型,代码:Bitmap bitmap = (Bitmap) bundle.get("data");
然后将bitmap用Base64弄成String
转换代码如下:
Base64.NO_wrap 这个东西就是我弄啦一下午的,最后用这种方式转换的String可以传送到html中显示出来,其他的不能显示。至于为什么?我就不知道,有大神知道的话跪求讲解。。。。。
实现代码如下:
大概就这样,需要源码的可以留言。或者点击下载
我所实现的主要是:html中通过Js调用手机相机,然后用Base64将手机相机拍到的照片显示到webView的html中。
WebView中显示html我就不多说啦!
js调用手机功能也很简单
function getCamera(){
javascript:myjavascript.getCamera();
}这只是js代码,具体的myjavascript类需要自己写,调用的就是其中的方法getCamera(),然后启动相机
然后在Activity中的onActivityResult方法中获取照相所产生的图片
然后将图片转成bitmap 类型,代码:Bitmap bitmap = (Bitmap) bundle.get("data");
然后将bitmap用Base64弄成String
转换代码如下:
public String bitmaptoString(Bitmap bitmap) { // 将Bitmap转换成Base64字符串 StringBuffer string = new StringBuffer(); ByteArrayOutputStream bStream = new ByteArrayOutputStream(); try { bitmap.compress(CompressFormat.PNG, 100, bStream); bStream.flush(); bStream.close(); byte[] bytes = bStream.toByteArray(); string.append(Base64.encodeToString(bytes, Base64.NO_WRAP)); } catch (IOException e) { e.printStackTrace(); } System.out.println("string.."+string.length()); return string.toString(); }
Base64.NO_wrap 这个东西就是我弄啦一下午的,最后用这种方式转换的String可以传送到html中显示出来,其他的不能显示。至于为什么?我就不知道,有大神知道的话跪求讲解。。。。。
实现代码如下:
String str1=bitmaptoString(bitmap); // 输出设置到html上面 String url ="javascript:printInfo('data:image/png;base64,"+str1+"')"; webView.loadUrl(url);
大概就这样,需要源码的可以留言。或者点击下载
相关文章推荐
- android使用WebView加载html input标签调用手机相机相册 后添加扫码功能
- webview与js交互、webview返回上一层html、webview获取html的title、加载assets下的html文件
- WebView之js调用Android类的方法传递数据
- android之通过webview实现与js方法相互调用,数据交互
- iOS 加载HTML的相关问题(与JS的互相调用和WKWebView加载本地网页)
- webview 获取html数据和js的传值
- Android实现js及webview交互之在html页面中调用系统摄像头
- WebView Android 调用js且须要获取返回结果
- 总结ASP.NET MVC Web Application中将数据显示到View中的几种方式
- 总结ASP.NET MVC Web Application中将数据显示到View中的几种方式
- js上传照片,预览,压缩后base64编码发送后台,及将后台返回的base64图片显示到HTML
- WebView调用手机拨号和短信功能(非自己写的网页)
- 总结ASP.NET MVC Web Application中将数据显示到View中的几种方式
- android webview javascriptinterface实现从HTML JS调用ANDROID内部程序
- Android中WebView使用3,html掉android中的方法webView调用js中的方法
- XZ_iOS之使用webView加载后台返回的一串html代码,HTML中的图片不显示
- jetbrick-webmvc 支持多种方式返回一个JSON (xml, html, js类似)
- 论坛帖子放js代码不让混淆功能影响js运行的方式,如discuz的管理员调用其它数据到帖子中
- JavaWeb基础知识:Html和Css实战WebView实现手机显示网页
- webview加载html调用js