我正在制作一个小游戏,其中我必须每秒检查一个值是否为零。当它为零时,游戏应该停止并显示一个对话框。从现在开始,在重新安装应用程序之前,游戏永远不会运行。
所以,我有一个带有 timertask 的计时器,它执行 runOnUiThread。
定时器:
private void update(){
Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run() {
onChange();
}
},0,(1000* getResources().getInteger(R.integer.remove_speed_inSecond)));
}
runOnUiThread :(此时使用 try/catch 捕获异常,但我想修复而不是忽略它。)
private void onChange(){
runOnUiThread(new Runnable() {
@Override
public void run() {
try{
checkupifexpire();
}
catch (Exception ex) {
}
}
});
}
我显示对话框的方法:
private void checkupifexpire() {
if(eat == 0 || drink == 0 || wash == 0 || care == 0){
dialog = new Dialog(this, android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setOnCancelListener(new DialogInterface.OnCancelListener()
{
@Override
public void onCancel(DialogInterface dialog)
{
GameEngine.this.finish();
}
});
dialog.setContentView(R.layout.activity_rip);
dialog.show();
}
}
总是当我按下后退按钮或只是主页按钮时应用程序崩溃。任何想法如何解决这个问题?