android图片标签搜索,Android开发实现webview中img标签加载本地图片的方法

本文实例讲述了Android开发实现webview中img标签加载本地图片的方法。分享给大家供大家参考,具体如下:

在网上查了很多教程,感觉很麻烦,各种方法,最后实践很简单,主要是两步:

WebSettings webSettings=webView.getSettings();

//允许webview对文件的操作

webSettings.setAllowUniversalAccessFromFileURLs(true);

webSettings.setAllowFileAccess(true);

webSettings.setAllowFileAccessFromFileURLs(true);

其次是路径的设置

String path= "file://"+Environment.getExternalStorageDirectory()+ File.separator+"123.jpg";

一定是file:///开头,注意是三个斜杠

下面是结果:

执行代码之前

d14bf735dddcbbcc0ab85fcc0463168b.png

执行代码之后

d1738cebf117eea7ce2ebcd05203666c.png

html代码

Title

function aa(path){

alert(path);

var img=document.getElementById("img");

img.src=path;

}

Android代码

package com.example.a5.myapplication;

import android.os.Environment;

import android.support.v7.app.AlertDialog;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.webkit.WebChromeClient;

import android.webkit.WebSettings;

import android.webkit.WebView;

import java.io.File;

public class MainActivity extends AppCompatActivity {

private WebView webView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

webView= (WebView) findViewById(R.id.webView);

WebSettings webSettings=webView.getSettings();

//允许webview对文件的操作

webSettings.setAllowUniversalAccessFromFileURLs(true);

webSettings.setAllowFileAccess(true);

webSettings.setAllowFileAccessFromFileURLs(true);

//用于js调用Android

webSettings.setJavaScriptEnabled(true);

//设置编码方式

webSettings.setDefaultTextEncodingName("utf-8");

webView.setWebChromeClient(new chromClient());

//访问Android assets文件夹内的

String url="file:///android_asset/test.html";

//访问网页Html

// String url="http://192.168.1.121:8080/jsandroid/index.html";

runWebView(url);

}

private class chromClient extends WebChromeClient{

@Override

public void onProgressChanged(WebView view, int newProgress) {

if(newProgress==100){

//页面加载完成执行的操作

String path= "file://"+Environment.getExternalStorageDirectory()+ File.separator+"123.jpg";

String action="javascript:aa('"+path+"')";

new AlertDialog.Builder(MainActivity.this)

.setMessage(action)

.show();

runWebView(action);

}

super.onProgressChanged(view, newProgress);

}

}

private void runWebView(final String url){

runOnUiThread(new Runnable() {

@Override

public void run() {

webView.loadUrl(url);

}

});

}

}

希望本文所述对大家Android程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值