Anroid5.0下webview显示本地图片

以前的时候,Android下webview显示本机图片可用ontent://+包名+路径的方式来实现,后来5.0后,安全协议提高了,不支持这种方式了,后来发现img标签可以是这样用,将本地图片转换为bitmap,再将bitmap转为Base64

public static String imgToBase64(Bitmap bitmap) {         
        ByteArrayOutputStream out = null;  
        try {  
            out = new ByteArrayOutputStream();  
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);    
            out.flush();  
            out.close();    
            byte[] imgBytes = out.toByteArray();  
            return Base64.encodeToString(imgBytes, Base64.DEFAULT);  
        } catch (Exception e) {  
            // TODO Auto-generated catch block  
            return null;  
        } finally {  
            try {  
                out.flush();  
                out.close();  
            } catch (IOException e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
            }  
        }  
    }  

然后在获取到的Base64字符串前面添加data:image/jpeg;base64,

String pic = "data:image/jpeg;base64,"+imgToBase64(bitmap);

然后将此pic通过javascript传到html,注意Android5.0后注意javascript方法需要添加@JavascriptInterface  

最后将img标签的src=pic就好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shan1021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值