2011-11-10 2 views
1

그래서 나는 WebView를 생성하고 (이것은 사용자가리스트 뷰 항목을 누를 때 호출되는)과 같이 HTML 문자열로 내용을 설정 한 안드로이드 누르면 버튼 후에도 재생 유지 :플래시 비디오는

String html = "<html>" + 
    "<body style=\"padding:0px;margin:0px;border:0px none;\">" + 
    "<embed type=\"application/x-shockwave-flash\"" + 
    " id=\"stratos_embed\"" + 
    " width=\"100%25\" height=\"100%25"\"" + //%25 = % (escaped) 
    " src=\"myVideoSource.swf\"" + 
    " pluginspage=\"http://www.macromedia.com/go/getflashplayer\"" + 
    " allowfullscreen=\"true\" allowscriptaccess=\"always\">" + 
    "</embed>" + 
"</body></html>"; 


Intent intent = new Intent(getBaseContext(), VideoActivity.class); 
intent.putExtra("VIDEO_CONTENT", html); 
this.startActivity(intent); 

웹 비디오에서 플래시 비디오를 볼 수 있으며 모든 것이 멋지다.

문제는 비디오가 계속 재생되는 (오디오를들을 수 있음) 뒤로 버튼을 눌러도 문제가되지 않는다는 것입니다.

나는 활동을 죽이기 위해 finish()을 사용하는 것에 대해 읽었지만 사용처를 모르겠습니다. 나는 그렇게처럼 내 VideoActivity 클래스에 넣어 :

@Override 
public void onPause(){ 
    finish(); 
} 

을하지만 뒤로 버튼을 누르면 오류가 발생하고 응용 프로그램이 종료 강제로. (그 방법은 이전 대상에 대해 숨겨져 있기 때문에 등) 또는

// assuming mWebView is assigned in onCreate() .. 

@Override 
public void onPause() { 
    super.onPause(); 
    mWebView.onPause(); 
} 

@Override 
public void onResume() { 
    super.onResume(); 
    mWebView.onResume(); 
} 

, 다음도 작동합니다 :

답변

4

벌집 + 목표를 들어, 활동의이 onPause()onResume()의 웹보기의 onPause()onResume()에 전화를 추가 할 수 있습니다 :

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    mWebView.loadUrl("about:blank"); 
} 
+0

이 솔루션은 벌집 아래에서는 작동하지 않습니다 !! –

0

위의 방법은 나를 위해 작동하지 않았다, 나는 사업 here을했던 또 다른 포스트를 가로 질러왔다.

try { 
    Class.forName("android.webkit.WebView") 
      .getMethod("onPause", (Class[]) null) 
         .invoke(webview, (Object[]) null); 
} catch(Exception e) {} 
관련 문제