2012年5月30日水曜日

AndroidでWebViewとYouTubeアプリを連携させる

WebView上に埋め込まれたiframeなYouTubeの再生を察知して、YouTubeアプリを起動して再生させる。
WebViewClientのonLoadResourceを以下のようにOverrideする。

webview.setWebViewClient(new WebViewClient() {

  @Override
  public void onLoadResource(WebView webview, String url) {
    
    if(url.startsWith("http://www.youtube.com/get_video_info")) {
      
      Uri uri = Uri.parse(url);
      Intent intent = new Intent(Intent.ACTION_VIEW);
      intent.setData(Uri.parse("vnd.youtube:"+uri.getQueryParameter("video_id")));
      startActivity(intent);
      
      webview.stopLoading();
      
      super.onLoadResource(webview, url);
      
    }
  
  }

}