うさがにっき

読書感想文とプログラムのこと書いてきます

webviewから指定のURLのリンクのときだけActivityを開く方法、ついでにパラメータをintentに付加する方法

構成

webviewに設定するWebViewClientのshouldOverrideUrlLoadingを以下の感じでoverrideする

@Override
public boolean shouldOverrideUrlLoading(WebView view, String urlPath) {		
	if(URL_Path.startsWith("とりたいURL")) {
		
		// URLにパースしてからやるとパラメータとるの楽
		Uri parseUri = Uri.parse(urlPath);
		int para = Integer.valueOf(parseUri.getQueryParameter("パラメータ名"));
		
		Intent intent = new Intent(getApplicationContext(), 起動activity名.class);
		intent.putExtra("いろいろ", いろいろ);
		
		startActivity(intent);
		
	}else {
		// 指定URL以外の処理
		…
	}

	return true;
}

ポイント

  • Uriクラスを使ってリンク先をパースしてやるとパラメータがとりやすくて楽
  • この件には関係ないけど、描画処理をonCreateに書いてて、戻ったとき真っ白になって涙が出た