4

我有一个 WebView 应用程序,我希望它的行为如下:

用户可以点击任何链接并在同一个 WebView 中打开新页面,除非目标是 YouTube,在这种情况下我想要两种可能的情况:

  1. 打开 YouTube Android 应用以查看视频
  2. 打开标准浏览器查看视频。

我的主要活动如下:

package com.prgguru.android;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.webkit.WebView;


@SuppressLint("SetJavaScriptEnabled")
public class MainActivity extends Activity {
     WebView browser;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        browser=(WebView)findViewById(R.id.webkit);     
        browser.getSettings().setJavaScriptEnabled(true);
        browser.getSettings().setDefaultFontSize(20);
        browser.loadUrl("http://exo-agency.com/funnytube/");   
    }
}

提前致谢。

4

1 回答 1

4

user2180451的回答:

我刚刚编辑为答案:

终于解决了这个问题。

对于任何有这个问题的人来说,我是如何让它工作的

在这里,我留下一个模板主要活动放入 src > MainActivity.java 用你的网址填充它

/** YOUR PACKACGE NAME SHOULD GO HERE **/

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.content.Intent;
import android.net.Uri;

public class MainActivity extends Activity {
    /** Called when the activity is first created. */
     @ Override

     public void onCreate (Bundle savedInstanceState) {
         super. onCreate (savedInstanceState);
         setContentView (R.layout.main);

         WebView web = (WebView) findViewById (R.id.webView);
         web.getSettings().setJavaScriptEnabled (true);
         web.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
         web.getSettings().setPluginsEnabled (true);
         web.getSettings().setSupportMultipleWindows (false);
         web.getSettings().setSupportZoom (false);
         web.setVerticalScrollBarEnabled (false);
         web.setHorizontalScrollBarEnabled (false);

         web.loadUrl ("THE URL TO YOUR WEBVIEW SITE SHOULD GO HERE");

         web.setWebViewClient(new WebViewClient () {
             @ Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
             if (url.startsWith("vnd.youtube")){
                 startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                 return true;
             }
             else {
                 return false;
             }
             }
         });
     }

 }

之后,在您的实际网页 HTML 网络应用程序中,您可以调用 YouTube 应用程序来播放带有此条目的视频

<a href="vnd.youtube://VIDEOID">WATCH ME</a>

只需将 VIDEOID 替换为您要观看的视频的实际视频 ID,当您单击它时,它将启动带有视频的 YouTube 应用程序。

如果您想要图像缩略图而不是文本链接来简单地打开视频

于 2014-06-28T05:44:20.203 回答