首先,我知道有很多与此相关的问题,但我还没找到我需要的东西。
在几乎每个答案中,他们都说你应该在run()
方法(我有)中有一个运行循环,当你想杀死你的Thread
时,你只需要设置{{1} } boolean
到while()
的条件。我理解这一点,但在我的情况下,每次迭代需要花费很多秒,因为它与false
有关。基本上,这个GUI Thread
等待用户按下按钮然后它会产生更多的东西,比如再现一些声音。
所以我的问题是,无法停止thread
将thread
设置为boolean
因为它等待用户,所以当用户按下主页按钮时{ {1}}继续他的执行,(等待用户的输入)和一段时间后(当用户按下按钮的时间到期时)再现声音。
还有另一种方法可以杀死false
方法中的Thread
或类似的东西吗?
提前谢谢。
答案 0 :(得分:0)
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
然后,按下主页按钮会触发以下事件:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
//Thread shutdown
}
});
希望有所帮助