我试图在特定时间后重新启动同一个 Activity ,比如在单击按钮后 2 分钟后。然而,它确实关闭了 Activity ,但是没有在指定的时间启动,这里是代码:
public void snoozeup(View view)
{
Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable() {
@Override
public void run()
{
//start your activity here
startActivity(new Intent(Time_Date.this, Time_Date.class));
}
}, a); //where a is integer with value 120000
mp.stop();
mp.release();
voicePlayer.stop();
voicePlayer.release();
songPlayer.stop();
songPlayer.release();
this.finish();
}
最佳答案
您不能那样做 - 一旦您的 Activity 完成,所有 UI 线程都会停止。您的 Runnable
永远不会被调用。
如果您希望某些功能在您的 Activity 关闭时运行,您需要创建一个 Service .
您还应该注意使用 postDelayed
的问题,如 postDelayed() in a Service 中所述.
关于android - 处理程序在指定时间后不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32157975/