WebViewの1回の使用ノート

1688 ワード

別のActivityから次のActivityにジャンプし、Webサイトに転送しました.
package com.rss.rssreader;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class WebActivity extends Activity{
	WebView webView;
	WebSettings setting ;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		getWindow().requestFeature(Window.FEATURE_PROGRESS);
		webView = new WebView(this);
		setContentView(webView);
		setting = webView.getSettings();
//		setting.setBuiltInZoomControls(true);
//		setting.setJavaScriptEnabled(true);
		webView.setWebViewClient(new WebViewClient());
		webView.setWebChromeClient(new WebChromeClient(){
			@Override
			public void onProgressChanged(WebView view, int newProgress) {
				setProgress(newProgress*100);
			}
		});
		Bundle b = getIntent().getExtras();
		webView.loadUrl(b.getString("link"));
	}
	
	@Override
	public void onBackPressed() {
		if(webView.canGoBack()){
			webView.goBack();
			return;
		}
//		webView.clearCache(true);
		webView.destroy();
		super.onBackPressed();
	}

}

ネットワーク権限が必要:
上のコードはwebViewの簡単な使用を実現できますが、setting.setJavaScriptEnabled(true);一度Webページを開いてプログラムを終了してプログラムに入ると、プログラムに応答しません.また、使用回数が多いとバックグラウンドからキャッシュファイル、コードwebViewを削除できないと警告する.clearCache(true);キャッシュファイルも削除できません.注意:Activityはこの問題を発見できません.(htc g17)
setWebViewClientメソッドでは、リンクをクリックするとリンクを開くことができ、設定しないとブラウザに開くように要求されます.
goBackメソッド:前のページに戻ります.