作者sweet00914 (别理我)
看板AndroidDev
标题[问题] 拦截KEYCODE_HOME,自定事件。
时间Thu Mar 8 17:52:37 2012
程式拦截到KEYCODE_HOME後,处理事件却产生不同结果。
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
wb.destroy();
}else if((keyCode == KeyEvent.KEYCODE_HOME)){
wb.destroy();
}
return super.onKeyDown(keyCode, event);
}
上述程式码,我预设的结果拦截到KEYCODE_HOME後处理的结果应该跟KEYCODE_BACK一样,
但执行结果,KEYCODE_BACK会关闭wb且返回上一层(activity)
KEYCODE_HOME会关闭wb但是停留在原本activity。
若是我在KEYCODE_HOME的事件里,将wb.destroy();改为
android.os.Process.killProcess(android.os.Process.myPid());
程序会关闭後(kill)再重新启动应用程式(跑到onCreate)。
请问各位大大,我应该如何正确的将wb关闭後,离开程序呢?谢谢
========================================================================
其实我的目的只是想-使用wb播放flash时,使用者按下HOME键後,
flash可以停止播放,并回到桌面。
而非回到桌面後,播放flash变成背景且持续播放中。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.130.55.241
※ 编辑: sweet00914 来自: 220.130.55.241 (03/08 17:57)
※ 编辑: sweet00914 来自: 220.130.55.241 (03/08 18:25)
1F:→ passli:写在onPause() or onStop()看看 03/08 19:43
後来我用callHiddenWebViewMethod去控制WEBVIEW的播放,是可以正常-
按下HOME键後,接着再进入程式可以接续播放
按下BACK建後,接着可以离开城市停止播放。
但,按下HOME键後,接着接续播放时声音先出现,画面却停顿很久後才开始播放
※ 编辑: sweet00914 来自: 220.130.55.241 (03/09 09:20)