안녕하세요.
몇일동안 try를 해 보다가 도저히 해결 방안을 찾을 수가 없어서 도움을 청합니다.
홈페이지에 youtube 동영상 하나를 올렸습니다.
그리고 안드로이드 어플을 만들었구요, 물론 webview로 구현해서 그 홈페이지를 불러 왔습니다.
webview에서 youtube 동영상을 클릭하면, 안드로이드용 default movie play로 연결돼서 실행이 되야 될 것 같은데, 실행이 되지 않네요.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView mWebView = (WebView) findViewById(R.id.webView);
mWebView.getSettings().setUserAgent(0);
//(ua=0-android, ua=1-desktop)
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.setInitialScale(1);
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.getSettings().setPluginsEnabled(true);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.getSettings().setSupportMultipleWindows(true);
mWebView.setClickable(true);
mWebView.setLongClickable(true);
mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
mWebView.getSettings().setSaveFormData(true);
mWebView.getSettings().setDomStorageEnabled(true);
try {
mWebView.loadUrl("http://test.com");
}catch (Exception e){
e.printStackTrace();
}
Log.i("YourLogTag", "Web view");
}
private class HelloWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String overrideUrl) {
Log.i("YourLogTag", "URL-> " + overrideUrl);
return true;
}
}
그래서, 혹시나 싶어서 홈페이지에 있는 모든 링크를 어플에서 선택했을 때 URL이 나와도록 수정해서 test를 해 봤습니다.
public boolean shouldOverrideUrlLoading(WebView view, String overrideUrl) {
Log.i("YourLogTag", "URL-> " + overrideUrl);
return true;
다른 일반 하이퍼 링크는 모두 주소가 나오는데, 유일하게 youtube 는 전혀 링크 주소가 나오지 않네요.???
차이점은 youtube 링크만 pop up 메뉴가 뜬다는 겁니다.
그 말은 private class HelloWebViewClient extends WebViewClient 함수 실행이 되지 않는다는 것인데...
왜 그럴까요?
참고로, 홈페이지에 youtube 링크 소스를 올려 봅니다.
| |||
| </li> |




유튜브는 따로 무비 플레이어에서 재생 되지 않고, 자체적으로 웹뷰에서 그냥 재생되던데요. 플래쉬처럼..
이 부분은 다른 브라우저앱이나 네이버앱 같은거 보면 알 수 있을꺼 같은데요^^
안드로이드 3.0 이상에서 테스트 하고 계시면 하드웨어 가속을 true 로 설정해서 해보세요.