我试图在特定时间之后重新启动相同的Activity,并在单击按钮后2分钟后再说。但是,它会关闭活动,但是不会在指定的时间内启动,这里是代码:
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();
}
答案 0 :(得分:1)
您不能以这种方式执行 - 一旦您的Activity完成,所有UI线程都会停止。 1}}永远不会被调用。
如果您希望在关闭活动时运行某些功能,则需要创建Service。
您还应该注意postDelayed() in a Service中描述的使用Runnable
的问题。
答案 1 :(得分:0)
我使用:
修复了它public void snoozeup(View view)
{
Handler handler = new Handler();
Runnable x=new Runnable() {
@Override
public void run()
{
startActivity(new Intent(Time_Date.this, Time_Date.class));
}
};
handler.postDelayed(x, 6000);
mp.stop();
mp.release();
voicePlayer.stop();
voicePlayer.release();
songPlayer.stop();
songPlayer.release();
finish();
}