▼Androidメモ▼
WebViewクラスの詳細

インターフェイス
インターフェイス 説明
DownloadListener ダウンロードすべきファイルを通知
GeolocationPermissions.Callback Geolocation許可状態の変更を通知
PluginStub プラグインスタブ
ValueCallback<T> 非同期処理の値を通知
WebChromeClient.CustomViewCallback カスタムビューの破棄を通知
WebIconDatabase.IconListener データベースからアイコンを通知
WebStorage.QuotaUpdater 割当を通知
WebView.PictureListener deprecated

クラス
クラス 説明
CacheManager deprecated
CacheManager.CacheResult deprecated
ConsoleMessage JavaScriptコンソールメッセージ
CookieManager クッキーマネージャ(RFC2109仕様)
CookieSyncManager クッキーの同期を管理
DateSorter 日付のソート
GeolocationPermissions Geolocationのパーミッション
HttpAuthHandler HTTP認証リクエスト
JsPromptResult JavaScriptプロンプトリクエスト
JsResult JavaScript結果
MimeTypeMap MIME-typeをマップするTwo-wayマップ
SslErrorHandler SSLエラーハンドラ
URLUtil URLユーティリティ
WebBackForwardList Web履歴リスト
WebChromeClient WebChromeクライアント
WebHistoryItem Web履歴要素
WebIconDatabase Webアイコンデータベース
WebResourceResponse Webリソースレスポンス
WebSettings Web設定
WebStorage Webストレージ
WebStorage.Origin HTML5データベースのorigin
WebView Webビュー
WebView.HitTestResult ヒットテスト結果
WebView.WebViewTransport Webビュートランスポート
WebViewClient Webビュークライアント
WebViewDatabase Webビューデータベース
WebViewFragment Webビューフラグメント

Enums
Enums 説明 定数
ConsoleMessage.MessageLevel コンソールメッセージのメッセージレベル DEBUG
ERROR
LOG
TIP
WARNING
WebSettings.LayoutAlgorithm deprecated -
WebSettings.PluginState プラグイン状態 OFF
ON
ON_DEMAND
WebSettings.RenderPriority レンダープロパティ HIGH
LOW
NORMAL
WebSettings.TextSize テキストサイズ LARGER
LARGEST
NORMAL
SMALLER
SMALLEST
WebSettings.ZoomDensity ズーム密度 CLOSE
FAR
MEDIUM

WebViewクラス
メソッド 説明
addJavascriptInterface(Object obj, String interfaceName) JavaScriptインタフェースの追加
canGoBack() Back可・不可の取得
canGoBackOrForward(int steps) Back/Forward可・不可の取得
canGoForward() Forward可・不可の取得
canZoomIn() ズームイン可・不可の取得
canZoomOut() ズームアウト可・不可の取得
capturePicture() ピクチャーのキャプチャ
clearCache(boolean includeDiskFiles) キャッシュのクリア
clearFormData() フォームデータのクリア
clearHistory() 履歴のクリア
clearMatches() テキストのハイライトのクリア
clearSslPreferences() SSLプリファレンスのクリア
clearView() ビューのクリア
computeScroll() スクロールの計算
copyBackForwardList() Back/Forwardリストのコピー
debugDump() deprecated
destroy() WebViewの内部状態の破棄
disablePlatformNotifications() deprecated
dispatchKeyEvent(KeyEvent event) キーイベントのディスパッチ
documentHasImages(Message response)

イメージ参照の取得

emulateShiftHeld() deprecated
enablePlatformNotifications() deprecated
findAddress(String addr) addressが含まれている場所の取得
findAll(String find) 検索してテキストをハイライト
findNext(boolean forward) 次の検索テキストへ
flingScroll(int vx, int vy) フリックによるスクロール
freeMemory() 可能なメモリの解放
getCertificate() SSL証明書の取得
getContentHeight() コンテンツ高さの取得
getFavicon() Favアイコンの取得
getHitTestResult() ヒットテスト結果の取得
getHttpAuthUsernamePassword(String host, String realm) HTTP認証のユーザー名とパスワードの取得
getOriginalUrl() オリジナルURLの取得
getProgress() プログレスの取得
getScale() スケールの取得
getSettings() Web設定の取得
getTitle() タイトルの取得
getUrl() URLの取得
getVisibleTitleHeight() deprecated
getZoomControls() deprecated
goBack() Back
goBackOrForward(int steps) Back/Forward
goForward() Forward
invokeZoomPicker() ズームピッカーの起動
isPrivateBrowsingEnabled() プライベートブラウジングの有効・無効の取得
loadData(String data, String mimeType, String encoding) HTMLの読み込み
loadDataWithBaseURL(String baseUrl, String data, String mimeType,
String encoding, String historyUrl)
HTMLの読み込み
loadUrl(String url) HTMLの読み込み
loadUrl(String url, Map<String, String> extraHeaders) HTMLの読み込み
onChildViewAdded(View parent, View child) deprecated
onChildViewRemoved(View p, View child) deprecated
onCreateInputConnection(EditorInfo outAttrs) InputConnectionの生成
onGenericMotionEvent(MotionEvent event) ジェネリックモーションイベントの実装
onGlobalFocusChanged(View oldFocus, View newFocus) deprecated
onKeyDown(int keyCode, KeyEvent event) キーダウン
onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) キー連続押し
onKeyUp(int keyCode, KeyEvent event) キーアップ
onPause() Webビューの一時停止
onResume() Webビューの再開
onTouchEvent(MotionEvent ev) タッチイベント
onTrackballEvent(MotionEvent ev) トラックボールイベント
overlayHorizontalScrollbar() 水平スクロールバーのオーバーレイの取得
overlayVerticalScrollbar() 垂直スクロールバーのオーバーレイの取得
pageDown(boolean bottom) ページダウン
pageUp(boolean top) ページアップ
pauseTimers() タイマーの一時停止
performLongClick() OnLongClickListenerを呼ぶ
postUrl(String url, byte[] postData) POSTによるデータのロード
reload() リロード
removeJavascriptInterface(String interfaceName) JavaScriptインタフェースの削除
requestChildRectangleOnScreen(View child, Rect rect, boolean immediate) -
requestFocus(int direction, Rect previouslyFocusedRect) フォーカスの指定
requestFocusNodeHref(Message hrefMsg) hrefへのフォーカスの指定
requestImageRef(Message msg) イメージ参照のリクエスト
restorePicture(Bundle b, File src) ピクチャのリストア
restoreState(Bundle inState) 状態のリストア
resumeTimers() タイマーの再開
savePassword(String host, String username, String password) ユーザー名とパスワードの保存
savePicture(Bundle b, File dest) deprecated
saveState(Bundle outState) 状態の保存
saveWebArchive(String filename) Webアーカイブの保存
saveWebArchive(String basename, boolean autoname,
ValueCallback<String> callback)
Webアーカイブの保存
setBackgroundColor(int color) 背景色の指定
setCertificate(SslCertificate certificate) SSL証明書の指定
setDownloadListener(DownloadListener listener) ダウンロードリスナーの指定
setHorizontalScrollbarOverlay(boolean overlay) 水平スクロールバーオーバーレイの指定
setHttpAuthUsernamePassword(String host, String realm,
String username, String password)
HTTP認証のユーザー名とパスワードの指定
setInitialScale(int scaleInPercent) 表示倍率の指定(デバイス画面幅*100/scaleInPercent px)
setLayoutParams(ViewGroup.LayoutParams params) レイアウトパラメータの指定
setMapTrackballToArrowKeys(boolean setMap) トラックボールのキー割当の指定
setNetworkAvailable(boolean networkUp) ネットワークの有効・無効の指定
setOverScrollMode(int mode) オーバースクロールモードの指定
setPictureListener(WebView.PictureListener listener) deprecated
setScrollBarStyle(int style) スクロールバースタイルの指定
setVerticalScrollbarOverlay(boolean overlay) 垂直スクロールバーオーバーレイの指定
setWebChromeClient(WebChromeClient client) WebChromeクライアントの指定
setWebViewClient(WebViewClient client) Webビュークライアントの指定
showFindDialog(String text, boolean showIme) 検索ダイアログの表示
stopLoading() ロードの停止
zoomIn() ズームイン
zoomOut() ズームアウト

WebSettingsクラス
メソッド 説明
enableSmoothTransition() スムーズトランジションの有効・無効の取得
getAllowContentAccess() コンテンツURLアクセスのサポートの有効・無効の取得
getAllowFileAccess() ファイルアクセスの有効・無効の取得
getBlockNetworkImage() ネットワークイメージをブロックするかどうかの取得
getBlockNetworkLoads() 全てのネットワーク読み込みをブロックするかどうかの取得
getBuiltInZoomControls() ズームコントロールの有効・無効の取得
getCacheMode()

キャッシュモードの取得

getCursiveFontFamily() 筆記体のフォントファミリー名の取得
getDatabaseEnabled() データベースストレージAPIの有効・無効の取得
getDatabasePath() データベースストレージAPIの保存先パスの取得
getDefaultFixedFontSize() デフォルトの等幅のフォントサイズの取得
getDefaultFontSize() デフォルトのフォントサイズの取得
getDefaultTextEncodingName() デフォルトのテキストエンコーディング名の取得
getDefaultZoom() デフォルトのズームの取得
getDisplayZoomControls() ズームコントロールの表示・非表示の取得
getDomStorageEnabled() DomストレージAPIの有効・無効の取得
getFantasyFontFamily() 装飾体のフォントファミリー名の取得
getFixedFontFamily() 等幅のフォントファミリー名の取得
getJavaScriptCanOpenWindowsAutomatically() JavaScriptからのウィンドウオープンの可・不可の取得
getJavaScriptEnabled() JavaScriptの有効・無効の取得
getLayoutAlgorithm() deprecated
getLightTouchEnabled() ライトタッチの有効・無効の取得
getLoadWithOverviewMode() 読み込み時にページ横幅を画面幅に合わせてるかどうかの取得
getLoadsImagesAutomatically() イメージリソースの自動読み込みの有効・無効の取得
getMinimumFontSize() 最小フォントサイズの取得
getMinimumLogicalFontSize() 最小論理フォントサイズの取得
getNavDump() deprecated
getPluginState() プラグインの有効・無効の取得(Youtube/Flash)
getPluginsEnabled() deprecated
getPluginsPath() deprecated
getSansSerifFontFamily() ゴシック体のフォントファミリー名の取得
getSaveFormData() フォームデータ保存の有効・無効の取得
getSavePassword() パスワード保存の有効・無効の取得
getSerifFontFamily() 明朝体のフォントファミリー名の取得
getStandardFontFamily() 標準のフォントファミリー名の取得
getTextSize() テキストサイズの取得
getUseDoubleTree() deprecated
getUseWebViewBackgroundForOverscrollBackground() deprecated
getUseWideViewPort() ワイドビューポートの有効・無効の取得(trueならページ全体表示)
getUserAgent() deprecated
getUserAgentString() ユーザーエージェントの取得
   
setAllowContentAccess(boolean allow) コンテンツURLアクセスのサポートの有効・無効の指定
setAllowFileAccess(boolean allow) ファイルアクセスの有効・無効の指定
setAppCacheEnabled(boolean flag) Application Caches APIの有効・無効の指定
setAppCacheMaxSize(long appCacheMaxSize) Application Caches APIのキャッシュの最大サイズの指定
setAppCachePath(String appCachePath) Application Caches APIのキャッシュのパスの指定
setBlockNetworkImage(boolean flag) ネットワークイメージをブロックするかどうかの指定
setBlockNetworkLoads(boolean flag) 全てのネットワーク読み込みをブロックするかどうかの指定
setBuiltInZoomControls(boolean enabled) ズーム操作の有効・無効の指定
setCacheMode(int mode) キャッシュモードの指定
setCursiveFontFamily(String font) 筆記体のフォントファミリー名の指定
setDatabaseEnabled(boolean flag) データベースストレージAPIの有効・無効の指定
setDatabasePath(String databasePath) データベースストレージAPIの保存先パスの指定
setDefaultFixedFontSize(int size) デフォルトの等幅のフォントサイズの指定
setDefaultFontSize(int size) デフォルトのフォントサイズの指定
setDefaultTextEncodingName(String encoding) デフォルトのテキストエンコーディング名の指定
setDefaultZoom(WebSettings.ZoomDensity zoom) デフォルトのズームの指定
setDisplayZoomControls(boolean enabled) ズームコントロールの表示・非表示の指定
setDomStorageEnabled(boolean flag) DomストレージAPIの有効・無効の指定
setEnableSmoothTransition(boolean enable) スムーズトランジションの有効・無効の指定
setFantasyFontFamily(String font) 装飾体のフォントファミリー名の指定
setFixedFontFamily(String font) 等幅のフォントファミリー名の指定
setGeolocationDatabasePath(String databasePath) Geolocationのデータベースのパスの指定
setGeolocationEnabled(boolean flag) Geolocationの有効・無効の指定
setJavaScriptCanOpenWindowsAutomatically(boolean flag) JavaScriptからのウィンドウオープンの可・不可の指定
setJavaScriptEnabled(boolean flag) JavaScriptの有効・無効の指定
setLayoutAlgorithm(WebSettings.LayoutAlgorithm l) deprecated
setLightTouchEnabled(boolean enabled) ライトタッチの有効・無効の指定
setLoadWithOverviewMode(boolean overview) 読み込み時にページ横幅を画面幅に合わせてるかどうかの指定
setLoadsImagesAutomatically(boolean flag) イメージリソースの自動読み込みの有効・無効の指定
setMinimumFontSize(int size) 最小フォントサイズの指定
setMinimumLogicalFontSize(int size) 最小論理フォントサイズの指定
setNavDump(boolean enabled) deprecated
setNeedInitialFocus(boolean flag) requestFocus(int,Rect)によるフォーカスの有効・無効の指定
setPluginState(WebSettings.PluginState state) プラグインの有効・無効の指定(Youtube/Flash)
setPluginsEnabled(boolean flag) deprecated
setPluginsPath(String pluginsPath) deprecated
setRenderPriority(WebSettings.RenderPriority priority) レンダースレッドのプロパティの指定
setSansSerifFontFamily(String font) ゴシック体のフォントファミリー名の指定
setSaveFormData(boolean save) フォームデータ保存の有効・無効の指定
setSavePassword(boolean save) パスワード保存の有効・無効の指定
setSerifFontFamily(String font) 明朝体のフォントファミリー名の指定
setStandardFontFamily(String font) 標準のフォントファミリー名の指定
setSupportMultipleWindows(boolean support) マルチウィンドウの有効・無効の指定
setSupportZoom(boolean support) ズームのサポートの有効・無効の指定
setTextSize(WebSettings.TextSize t) テキストサイズの指定
setUseDoubleTree(boolean use) deprecated
setUseWebViewBackgroundForOverscrollBackground(boolean view) deprecated
setUseWideViewPort(boolean use) ワイドビューポートの有効・無効の指定(trueならページ全体表示)
setUserAgent(int ua) deprecated
setUserAgentString(String ua) ユーザーエージェントの指定
supportMultipleWindows() マルチウィンドウの有効・無効の取得
supportZoom() ズームのサポートの有効・無効の取得

WebViewClientクラス
メソッド 説明
doUpdateVisitedHistory(WebView view, String url, boolean isReload) 履歴更新時に呼ばれる
onFormResubmission(WebView view, Message dontResend, Message resend) データを再送する必要がある場合に呼ばれる
onLoadResource(WebView view, String url) リソース読み込み時に呼ばれる
onPageFinished(WebView view, String url) ページ読み込み完了時に呼ばれる
onPageStarted(WebView view, String url, Bitmap favicon) ページ読み込み開始時に呼ばれる
onReceivedError(WebView view, int errorCode, String description, String failingUrl) エラー時に呼ばれる
onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler,
String host, String realm)
HTTP認証リクエスト受信時に呼ばれる
onReceivedLoginRequest(WebView view, String realm, String account,
String args)
ログインリクエスト受信時に呼ばれる
onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) SSLエラー時に呼ばれる
onScaleChanged(WebView view, float oldScale, float newScale) スケール変更時に呼ばれる
onTooManyRedirects(WebView view, Message cancelMsg, Message continueMsg) deprecated
onUnhandledKeyEvent(WebView view, KeyEvent event) Webビューでキーがハンドルされない時呼ばれる
shouldInterceptRequest(WebView view, String url) リソース要求開始前に呼ばれる
shouldOverrideKeyEvent(WebView view, KeyEvent event) キーイベント通知前に呼ばれる
shouldOverrideUrlLoading(WebView view, String url) URLロード前に呼ばれる

WebChromeClientクラス
メソッド 説明
getDefaultVideoPoster() 非再生時、video要素に表示する画像の取得
getVideoLoadingProgressView() video要素の再生開始時に表示するプログレスの取得
getVisitedHistory(ValueCallback<String[]> callback) リンク色に利用する履歴要素郡の取得時に呼ばれる
onCloseWindow(WebView window) ウィンドウクローズ時に呼ばれる
onConsoleMessage(String message, int lineNumber, String sourceID) コンソールメッセージ通知時に呼ばれる
onConsoleMessage(ConsoleMessage consoleMessage) コンソールメッセージ通知時に呼ばれる
onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg) 新規ウィンドウ生成時に呼ばれる
onExceededDatabaseQuota(String url, String databaseIdentifier, long currentQuota,
long estimatedSize, long totalUsedQuota, WebStorage.QuotaUpdater quotaUpdater)
originのquotaの更新時に呼ばれる
onGeolocationPermissionsHidePrompt() Geolocationパーミッション非表示時に呼ばれる
onGeolocationPermissionsShowPrompt(String origin,
GeolocationPermissions.Callback callback)
Geolocationパーミッション表示時に呼ばれる
onHideCustomView() カスタムビューの非表示時に呼ばれる
onJsAlert(WebView view, String url, String message, JsResult result) アラートダイアログ(OK)表示時に呼ばれる
onJsBeforeUnload(WebView view, String url, String message, JsResult result) ダイアログ表示にに呼ばれる
onJsConfirm(WebView view, String url, String message, JsResult result) コンファームダイアログ(OK/Cancel)表示時に呼ばれる
onJsPrompt(WebView view, String url, String message, String defaultValue,
JsPromptResult result)
プロンプトダイアログ(OK/Cancel/テキスト)表示時に呼ばれる
onJsTimeout() JavaScriptのタイムアウト時に呼ばれる
onProgressChanged(WebView view, int newProgress) プログレス進行時に呼ばれる(newProgressは0-100)
onReachedMaxAppCacheSize(long spaceNeeded, long totalUsedQuota,
WebStorage.QuotaUpdater quotaUpdater)
Application Caches APIのキャッシュサイズが最大値に到達した時に呼ばれる
onReceivedIcon(WebView view, Bitmap icon) アイコン受信時に呼ばれる
onReceivedTitle(WebView view, String title) タイトル受信時に呼ばれる
onReceivedTouchIconUrl(WebView view, String url, boolean precomposed) タッチアイコンURL受信時に呼ばれる
onRequestFocus(WebView view) フォーカス取得時に呼ばれる
onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) カスタムビュー表示時に呼ばれる

WebViewDatabaseクラス
メソッド 説明
getInstance(Context context) インスタンスの取得
clearFormData() フォームデータのクリア
clearHttpAuthUsernamePassword() HTTP認証のユーザー名とパスワードのクリア
clearUsernamePassword() ユーザー名とパスワードのクリア
hasFormData() フォームデータを保持しているかどうか
hasHttpAuthUsernamePassword() HTTP認証のユーザー名とパスワードを保持しているかどうか
hasUsernamePassword() ユーザー名とパスワードを保持しているかどうか

WebStorageクラス
メソッド 説明
deleteAllData() 全データの削除
deleteOrigin(String origin) originの削除
getInstance() インスタンスの取得
getOrigins(ValueCallback<Map> callback) originの取得
getQuotaForOrigin(String origin, ValueCallback<Long> callback) originのquotaの取得
getUsageForOrigin(String origin, ValueCallback<Long> callback) originのusageの取得
setQuotaForOrigin(String origin, long quota) originのquotaの指定

各種設定
メソッド 説明
リンククリック時に内部ブラウザでオープン
(標準設定ではリンククリック時に
Webブラウザを起動してリンク先を開く)
webView.setWebViewClient(new WebViewClient(){
    public boolean shouldOverrideUrlLoading(WebView view,String url) {
        return false;
    }
});
スクロールバーの指定
webView.setScrollBarStyle(WebView.SCROLLBARS_INSIDE_OVERLAY);
webView.setVerticalScrollbarOverlay(true);
webView.setHorizontalScrollBarEnabled(false);   
JavaScriptの有効化
webSettings.setJavaScriptEnabled(true);
Flashの有効化
webSettings.setJavaScriptEnabled(true);
webSettings.setPluginState(WebSettings.PluginState.ON);
Flashの上へのビュー配置
瓶詰堂日記
getWindow().setBackgroundDrawable(null);
WindowManager.LayoutParams lp=
    (WindowManager.LayoutParams)getWindow().getDecorView().getLayoutParams();
lp.type=WindowManager.LayoutParams.TYPE_APPLICATION;
getWindowManager().removeView(getWindow().getDecorView());
getWindowManager().addView(getWindow().getDecorView(),lp);
Geolocationの有効化
webSettings.setGeolocationEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {
    public void onGeolocationPermissionsShowPrompt(String origin,Callback callback) {         
        super.onGeolocationPermissionsShowPrompt(origin,callback);         
        callback.invoke(origin,true,false);
    } 
});

HTML5 Web Storagの有効化

webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
File databasePath=new File(getCacheDir(),webStoragePath);
webSettings.setDatabasePath(databasePath.toString());
webView.setWebChromeClient(new WebChromeClient() {
    public void onExceededDatabaseQuota(..., QuotaUpdater quotaUpdater) {
        quotaUpdater.updateQuota(5*1024*1024);
    }
});
HTML5 Web SQLデータベースの有効化
webSettings.setJavaScriptEnabled(true);
webSettings.setDatabaseEnabled(true);
File databaseDir=new File(getCacheDir(),webSqlDatabasePath);
databaseDir.mkdirs();
webSettings.setDatabasePath(databaseDir.toString());
webView.setWebChromeClient(new WebChromeClient() {
    public void onExceededDatabaseQuota(..., QuotaUpdater quotaUpdater) {
        quotaUpdater.updateQuota(5*1024*1024);
    }	
});
HttpClientでログイン処理を行い
以降はWebViewで操作
chakimarのプログラミング日記
private WebView mWebView;
@Override
public void onCreate(Bundle bundle) {
    super.onCreate(bundle);

    mWebView=new WebView(this);
    mWebView.setWebViewClient(new WebViewClient());
    mWebView.setWebChromeClient(new WebChromeClient());
    mWebView.getSettings().setJavaScriptEnabled(true);
    setContentView(mWebView);
    
    //WebViewで使うcookieの準備
    CookieSyncManager.createInstance(this);
    CookieSyncManager.getInstance().startSync();
    CookieManager.getInstance().setAcceptCookie(true);
    CookieManager.getInstance().removeExpiredCookie();

    //HttpClientの準備
    DefaultHttpClient httpClient;
    httpClient=new DefaultHttpClient();
    httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY,CookiePolicy.BROWSER_COMPATIBILITY);
    httpClient.getParams().setParameter("http.connection.timeout",5000);
    httpClient.getParams().setParameter("http.socket.timeout",3000);
    HttpPost httppost=new HttpPost("認証用のアドレス");
    List nameValuePair=new ArrayList();
    nameValuePair.add(new BasicNameValuePair("ユーザーキーの名前","ユーザー名"));
    nameValuePair.add(new BasicNameValuePair("パスワードキーの名前","パスワード"));
    
    //ログイン処理
    try {
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePair));
        HttpResponse response=httpClient.execute(httppost);
        ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
        response.getEntity().writeTo(byteArrayOutputStream);
    } catch (Exception e) {
    }

    //HttpClientで得たCookieの情報をWebViewでも利用できるようにする
    CookieStore cookieStr=httpClient.getCookieStore();
    cookieStr.clearExpired(new java.util.Date());
    List cookies=cookieStr.getCookies();
    CookieManager cookieManager=CookieManager.getInstance();
    for (Cookie cookie : cookies) {
        String cookieString=cookie.getName()+"="+cookie.getValue();
        cookieManager.setCookie("ドメイン名", cookieString);
        CookieSyncManager.getInstance().sync();
    }

    //ログイン状態で画面にアクセス
    mWebView.loadUrl("トップページのアドレス");
}

@Override
protected void onDestroy() {
    super.onDestroy();
    CookieManager cookieManager=CookieManager.getInstance();
    cookieManager.removeAllCookie();
}
アラートの実装
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {  
    //アラートダイアログの表示
    public boolean onJsAlert(WebView view,String url,
        String message,final JsResult result){
        AlertDialog.Builder ad=new AlertDialog.Builder(context);
        ad.setMessage(message);
        ad.setPositiveButton("OK",new DialogInterface.OnClickListener() {  
            public void onClick(DialogInterface dialog,int which) {  
                result.confirm();  
            }  
        });  
        ad.show();                
        return true;  
    }
    //コンファームダイアログの表示
    public boolean onJsConfirm(WebView view,String url,
        String message,final JsResult result) {
        AlertDialog.Builder ad=new AlertDialog.Builder(context);
        ad.setMessage(message);
        ad.setPositiveButton("OK",new DialogInterface.OnClickListener() {  
            public void onClick(DialogInterface dialog,int which) {  
                result.confirm();  
            }  
        });  
        ad.setNegativeButton("キャンセル",new DialogInterface.OnClickListener() {  
            public void onClick(DialogInterface dialog,int which) {  
                result.cancel();  
            }  
        });  
        ad.show();                
        return true;  
    }
    //プロンプトダイアログの表示
    public boolean onJsPrompt(WebView view,String url,
        String message, String defaultValue,final JsPromptResult result) {
        AlertDialog.Builder ad=new AlertDialog.Builder(context);
        final EditText editText=new EditText(context);
        ad.setView(editText);  
        ad.setMessage(message);
        ad.setPositiveButton("OK",new DialogInterface.OnClickListener() {  
            public void onClick(DialogInterface dialog,int which) {  
                result.confirm(editText.getText().toString());  
            }  
        });  
        ad.setNegativeButton("キャンセル",new DialogInterface.OnClickListener() {  
            public void onClick(DialogInterface dialog,int which) {  
                result.cancel();  
            }  
        });  
        ad.show();                  
        return true;
    }
});
 新規ウィンドウで開く
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setSupportMultipleWindows(true);

webView.setWebChromeClient(new WebChromeClient() { public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture,Message resultMsg) { WebView temp=new WebView(context); temp.getWebSettings().setJavaScriptCanOpenWindowsAutomatically(true); temp.getWebSettings().setSupportMultipleWindows(true); ((WebView.WebViewTransport)resultMsg.obj).setWebView(temp); resultMsg.sendToTarget(); return true; } });
アセットHTMLの読み込み
webView.loadUrl("file:///android_asset/index.html");
読込時にページ横幅を画面幅に合わせる
webSettings.setLoadWithOverviewMode(true);
webSettings.setUseWideViewPort(true);
キャッシュのクリアとWebViewの破棄
public void onPause(){
    super.onPause();
    mWebView.clearCache(true);
    mWebView.clearHistory();
    mWebView.clearMatches();
}


protected void onDestroy() {
    super.onDestroy();
    mWebView.destroy();
}    

−戻る−