Anroid5.0下webview显示本地图片

来源:互联网 发布:螃蟹秘密 知乎 编辑:程序博客网 时间:2024/05/21 05:22

以前的时候,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就好了

0 0
原创粉丝点击