안드로이드 애플리케이션 내의 WebView 에서 플래시 파일을 재생하고 있는데, 뒤로가기 버튼을 누르거나 혹은 intent로 다른 Activity로 넘어가게 되도 해당 플래시 파일은 계속 재생됩니다. 이때, 다른 Activity 로 넘어 갔는데도 불구하고, 이전 Activity 에서 재생되던 플래시에서 소리가 나는 등의 문제가 발생 합니다.
해결책
public
class
FlashPlayerWebView{
private
WebView webView;
@Override
public
void
onCreate(Bundle savedInstanceState){
super
.onCreate(savedInstanceState);
webView = (WebView)findViewById(R.layout.flash_player_webview);
webView.loadUrl(
"http://www.androidpub.com/flash.swf"
);
}
public
void
onPause(){
super
.onPause();
webView.loadUrl(
"about:blank"
);
}
}
Activity 가 생성될 때, webView 에 Flash 가 재생될 Url을 호출한다.
여기에서 onPause() 에 해당하는 내용을 처리하지 않으면, 뒤로가기 버튼을 누르거나 혹은 다른 Activity 로 전환되었을때도 Activity Stack 에 계속 남아 있어 플래시가 계속 재생된다.
Activity가 전환될때, onPause() 함수가 호출되는데, 위의 코드 처럼 해당 webview에 다른 url 을 호출하면 플래시가 재생되는 것을 막을 수 있다.
댓글 없음:
댓글 쓰기