웹뷰로 뛰운 동영상 재생중 뒤로가기를 하면
동영상이 멈추지 않고 백그라운드에서 계속
플레이가 됩니다.
동영상을 정지하려고 다시 그 페이지를 방문하면
새로운 동영상 플레이어가 떠있어서 백그라운드에서
재생되는 동영상은 끌수가 없는데요.
뒤로가기시 재생중인 동영상을 자동정지 시킬 방법이 없을까요?
ㅎㅎ저도 여기서 얻은 답변이지만
private void callHiddenWebViewMethod(String name){
if(webview != null){
try {
Method method = WebView.class.getMethod(name);
method.invoke(webview);
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
이걸 만드신 후에
public void onPause()
{
super.onPause();
callHiddenWebViewMethod("onPause");
Log.e("tag", "onPause");
}
public void onStop(){
super.onStop();
callHiddenWebViewMethod("onStop");
Log.e("tag", "onstop");
}
등등에 callHiddenWebViewMethod를 불러주시면 웹뷰에서도 스탑 리섬등의 동작이 정상적으로 움직입니다.




저는 플래시를 웹뷰에서 재생시켜서 멈추지 않고 계속재생되는 같은 증상이 나타나서 문제가 있었죠.
public void onBackPressed() {
// 메인에서 백버튼 : 종료확인 메시지
Builder d = new AlertDialog.Builder(this);
d.setMessage("정말 종료하시겠습니까?");
d.setPositiveButton("예", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// 프로세스 및 스레드 죽이기.
//android.os.Process.killProcess(android.os.Process.myPid());
finish();
}
});
d.setNegativeButton("아니요", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
d.show();
}
이렇게 뒤로가기 버튼에 finish()이벤트 거시면 종료되구요. onPause를 원하시는거면 다시 말씀좀