スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Tag:スポンサー広告 

【Android】WebView内での遷移で特定のURLに遷移するタイミングに処理を入れる方法

WebView内での遷移で

このURLの時だけ別のActivityにIntentしたい
このURLの時だけ別のアプリを立ち上げたい
このURLの時だけトラッキングの方法を変更したい

など、WebView内で特定のURLをフックして何か別の処理をしたいということがあると思います。


public class WebViewActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
webview = new WebView(this);
webview.setWebViewClient(new WebViewClient(){

@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}

@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}

public boolean shouldOverrideUrlLoading(WebView webView, String url){
//URLがYahooのトップページだったらインテントする
if( url.equals("http://www.yahoo.co.jp") ){
Intent intent = new Intent(WebViewActivity.this, TestActivity.class);
startActivity(intent);
return true;
}
]
});

}
}


WebViewClient#shouldOverrideUrlLoadingを使うとうまくできます。このサンプルではURLがYahooのトップページだったら別のActivity(TestActivity)にインテントするような処理を書いています。

returnがbooleanなのですが、別のアクティビティにインテントする場合など、ページのロード自体はもうしない場合はtrueを、ページをロードする場合はfalseを返すようにしてください。
スポンサーサイト
テーマ : プログラミング
ジャンル : コンピュータ

Tag:Android  Trackback:0 comment:0 

Comment

comment form
(編集・削除用):
管理者にだけ表示を許可
プロフィール

6rats

Author:6rats
こんにちは、ITベンチャーで働くエンジニアです
主に自分の周りで起きた技術的なことをメモとして書き残して行きます。
Android以外にもRuby/Ruby on RailsやFuelPHPなどなどたまにやります。基本的なスタンスとしては興味があるもしくは必要になったらいろんなことにチャレンジします。
最近はiOSアプリ開発を始めています。

購読
follow us in feedly
個人プロダクト

Androidアプリ

Twitterクライアント

Webアプリケーション

EcPriceWatch(Amazon価格の推移を計測、最安値を知らせるサービス)
Google AdSense
ブログ村
にほんブログ村 IT技術ブログへ
にほんブログ村
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。