Как заставить видео на YouTube работать, пока он находится внутри WebViewClient? - PullRequest
0 голосов
/ 17 октября 2011

Вот проблема: я не могу заставить видео YouTube работать, пока он находится внутри WebViewClient. Я пытался использовать Intent, но он перенаправляет только в браузер или приложение YouTube (при использовании vnd: + VIDEO_ID). Я хотел бы быть на странице YouTube (пример: http://www.youtube.com/user/thenewboston) и по-прежнему находиться внутри клиента веб-просмотра - пользователь не должен иметь возможность покинуть приложение.

Когда я попробую это сделать самостоятельно, я смогу увидеть мобильную страницу YouTube для видео / канала. Все работает, за исключением того, что когда я касаюсь видео на моем Droid, все, что он делает, это выделяет видео, а затем ничего не делает.

Мне это нужно, потому что мое приложение бесплатное и финансируется рекламным баннером в нижней части приложения, которое я могу отображать только с WebViewClient, а не с родным браузером Android. JavaScript и плагины включены. Я использую Froyo в качестве целевого SDK и на моем телефоне установлен Adobe Flash Player.

setContentView(R.layout.internetv);
final WebView wv = (WebView) findViewById(R.id.web_holder);
/* for example */ 
wv.loadUrl("http://www.youtube.com/user/PokeGuideHD"); 
wv.setWebViewClient(new myClient());
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setPluginsEnabled (true);
wv.getSettings().setBuiltInZoomControls(true);
wv.requestFocus(View.FOCUS_DOWN);

1 Ответ

3 голосов
/ 17 октября 2011

Вы не можете показать их встроенными, за исключением, возможно, на устройствах, которые имеют Flash.

Однако, если вы сможете анализировать детали видео YouTube, вы можете создать намерение ACTION_VIEW, которое будет отображать их на YouTube.приложение ... для тех устройств Android, на которых установлено приложение YouTube.

Вы также можете поэкспериментировать с тегом HTML5, который AFAIK поддерживается в приложении Browser и поэтому может работать в WebView.

EDIT:

Это будет выглядеть примерно так ...

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