안드로이드 웹뷰 응용 프로그램에 웹 페이지 삽입

2378 단어 android
안드로이드는 웹뷰를 사용하여 웹 페이지에 삽입하는 데 많은 용도가 있는데 많은 응용 프로그램, 예를 들어 오늘의 톱기사 등도 모두 원생 응용 프로그램으로 웹 페이지에 삽입하는 방식으로 실현되었다.
자, 같은 말은 하지 말고 코드를 붙여.
/**
 * 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);


다음은 웹 페이지의 자바스크립트를 호출하는 함수입니다
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;
	}
}

좋은 웹페이지 즐겨찾기