안녕하세요. 초보개발자입니다.
현재 service에서 webview를 생성해서 로직을 구현햇는데요..
windowmanager에 webview를 add시켯습니다..
문제는 동영상부분인데요.. 소리는 나오나.. 동영상이 나오질않네요..
네이버나 기기에 내장되어잇는 인터넷을 실행햇을경우엔.. 유투브 동영상을클릭하면
아예 다른 창이 나와 동영상을 띄워주는 것같더군요..
저도 그방식이랑 비슷하게 동영상을 클릭한후 url을 따와서 동영상을 재생하고 싶은데요..
아무리 해봐도 동영상을 클릭햇을때 url이 넘어오는 곳을 찾지못하겟습니다..
뭔가 방법이 있을것같은데.. 고수분들의 조언을 구합니다..
webview셋팅은 이렇게 했습니다.
mWebview.setFocusableInTouchMode(true);
mWebview.requestFocus(View.FOCUS_DOWN);
mWebview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
Log.d("ErrorLog", url);
murl = url;
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
Bar.setVisibility(View.INVISIBLE);
if(mWebview == null){
return;
}else{
edittext.setText(mWebview.getUrl());
if(view.getProgress() == 100){
bwebviewflag = true;
Log.d("ErrorLog", "progress = " + view.getProgress());
}
}
super.onPageFinished(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
Bar.setVisibility(View.VISIBLE);
}
});
mWebview.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view , int newProgress) {
Bar.setProgress(newProgress);
}
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
super.onShowCustomView(view, callback);
Log.d("ErrorLog", "on showcustomview in");
}
@Override
public Bitmap getDefaultVideoPoster() {
// TODO Auto-generated method stub
Log.d("ErrorLog", "on getDefaultVideoPoster in");
return super.getDefaultVideoPoster();
}
@Override
public void onHideCustomView() {
// TODO Auto-generated method stub
super.onHideCustomView();
Log.d("ErrorLog", "on onHideCustomView in");
}
});
//
mWebview.getSettings().setJavaScriptEnabled(true);
mWebview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebview.getSettings().setBuiltInZoomControls(true);
mWebview.getSettings().setPluginState(PluginState.ON);
mWebview.getSettings().setSupportMultipleWindows(true);
mWebview.getSettings().setSupportZoom(true);
// mWebview.getSettings().setBlockNetworkImage(false);
mWebview.getSettings().setLoadsImagesAutomatically(true);
mWebview.getSettings().setUseWideViewPort(true);
mWebview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
mWebview.getSettings().setDomStorageEnabled(true);
mWebview.setClickable(true);
mWebview.setFocusable(true);
mWebview.setFocusableInTouchMode(true);
mWebview.setLongClickable(true);
mWebview.getSettings().setGeolocationEnabled(true);
mWebview.getSettings().setDatabaseEnabled(true);
mWebview.loadUrl(murl);
edittext.setText(murl);
mWebview.setLayerType(View.LAYER_TYPE_HARDWARE, null);
wm.addView(WebLayout, params);