安卓webview实现应用内嵌入网页

安卓使用webview 嵌入网页有很多的用途,很多应用例如 今日头条等也都是用原生应用嵌入网页方式实现的

好了 同样的 话不多说 贴上代码:

/**
 * Author: wangliu_petter叉哥
 * QQ:1206420658 
 * Date: 16-06-07 
 * Time: 13:21
 */
public void init(){
		WebView mWebView=(WebView) findViewById(R.id.webView1);
		mWebView.getSettings().setDefaultTextEncodingName("utf-8");
        //支持js
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setSavePassword(false);
        mWebView.getSettings().setSaveFormData(false);
        mWebView.getSettings().setSupportZoom(false);
        mWebView.setWebChromeClient(new MyWebChromeClient());
		mWebView.setWebViewClient(new WebViewClient() {
			public void onReceivedError(WebView view, int errorCode,
					String description, String failingUrl) { // Handle the error
			}
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				view.loadUrl(url);
				return true;
			}
		});   
        //设置背景颜色 透明
        mWebView.setBackgroundColor(Color.argb(0, 0, 0, 0));
        //设置本地调用对象及其接口
        mWebView.addJavascriptInterface(new JavaScriptObject(this), "myObj");
        //载入js
        try {

			mWebView.loadUrl(此处是要加载的Url地址);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
//允许Javascript调用alert
final class MyWebChromeClient extends WebChromeClient {
    @Override
    public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
        
        return super.onJsAlert(view, url, message, result);


下面是 让网页端Javascript调用的函数

package com.example.webview;

import android.content.Context;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.widget.Toast;

public class JavaScriptObject {
    Context mContxt;

    public JavaScriptObject(Context mContxt) {
        this.mContxt = mContxt;
    }

    @JavascriptInterface
    public void function1(String name) {
        Toast.makeText(mContxt, name, Toast.LENGTH_LONG).show();
    }

    @JavascriptInterface
    public void function2(String name) {
        Toast.makeText(mContxt, "function2:" + name, Toast.LENGTH_SHORT).show();
    }
    
    @JavascriptInterface
	public  int function3(String pkgName){
	 return 0;
	}
}


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值