所以我创建了一个WebView
并将内容设置为一个类似于html的字符串(当用户按下ListView项时调用它):
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);
我可以在网络视频中观看Flash视频,而且一切都很花哨。
问题是当我按下后退按钮时视频继续播放(我可以听到音频),但我不想这样做。
我读过有关使用finish()
来杀死活动但我不知道在哪里使用它。我把它放在我的VideoActivity类中,如下所示:
@Override
public void onPause(){
finish();
}
但是当我按下后退按钮时,会发生错误并强制关闭应用程序。
答案 0 :(得分:4)
对于Honeycomb +目标,您可以在活动的onPause()
和onResume()
中添加对WebView的onPause()
和onResume()
的调用:
// assuming mWebView is assigned in onCreate() ..
@Override
public void onPause() {
super.onPause();
mWebView.onPause();
}
@Override
public void onResume() {
super.onResume();
mWebView.onResume();
}
或者(因为这些方法对于早期目标是隐藏的),以下内容也应该起作用:
@Override
protected void onDestroy() {
super.onDestroy();
mWebView.loadUrl("about:blank");
}
答案 1 :(得分:0)
以上方法对我不起作用,我遇到了另一篇发布业务的帖子here。
try {
Class.forName("android.webkit.WebView")
.getMethod("onPause", (Class[]) null)
.invoke(webview, (Object[]) null);
} catch(Exception e) {}