2012-07-03 3 views
1

Если я загружаю URL-адрес www.youtube.com на веб-просмотр и выбираю любое видео, не запускает новое окно с проигрывателем. Должен ли я установить что-то для этого на манифесте? Если я использую стандартные работы браузера! Событие shouldOverrideUrlLoading или любые другие не запускаются. Спасибоandroid play youtube video в новом окне

webviewA.getSettings().setJavaScriptEnabled(true); 
     webviewA.getSettings().setUseWideViewPort(true); 
     webviewA.getSettings().setLoadWithOverviewMode(true); 
     webviewA.getSettings().setDomStorageEnabled(true); 
     webviewA.getSettings().setAllowFileAccess(true); 
     webviewA.getSettings().setGeolocationEnabled(true); 
     webviewA.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
     webviewA.getSettings().setBuiltInZoomControls(true); 
     webviewA.getSettings().setSupportZoom(true); 

     webviewA.getSettings().setPluginState(PluginState.ON); 
     webviewA.getSettings().setAllowContentAccess(true); 

     webviewA.setVerticalScrollBarEnabled(false); 
     webviewA.setHorizontalScrollBarEnabled(false); 
     webviewA.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 

if (savedInstanceState == null){ 
      String Url = "www.youtube.com/my-desired_channel"; 
      webviewA.loadUrl(Url); 
     } 

событие не уволят,

@Override 
       public boolean shouldOverrideUrlLoading(WebView view, String url){ 
    not fired!! 
    } 

ответ

1

Вы могли бы использовать что-то вроде -

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.youtube.com/watch?v=abcde"))); 

EDIT: Попробуйте это

webView.setWebViewClient(new WebViewClient() 
{ 
public boolean shouldOverrideUrlLoading(WebView view, String url) 
{ 
    // YouTube video link 
    if (url.startsWith("vnd.youtube:")) 
    { 
    int n = url.indexOf("?"); 
    if (n > 0) 
    { 
    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(String.format("http://www.youtube.com/v/%s", url.substring("vnd.youtube:".length(),n))); 
    } 
    return (true); 
    } 

    return (false); 
} 
}); 
+0

нормально, но где ?? shouldOverrideUrlLoading не запускается при нажатии на видео youtube – Jaume

+0

@Jaume проверить edit – Suchi

+0

вы используете shouldOverrideUrlLoading, и он не запускается при нажатии на видео youtube – Jaume

0

К сожалению констатировать очевидное, но вы включили разрешение «ИНТЕРНЕТ» в ваш файл манифеста?

EDIT: добавлен код просто чтобы быть уверенным

это должно быть что-то вроде этого в манифесте

<manifest ... > 
<uses-permission android:name="android.permission.INTERNET" /> 
... 
</manifest> 
+2

Это не имеет большого смысла, он уже может использовать WebView. – MrZander

Смежные вопросы