我正在创建应用程序以在每个特定时间(由用户指定)显示对话活动。我用Timer做这个,一切都很好。然而,当我回到主屏幕时,对话框活动没有出现在那里只是继续显示在主活动上,因为一旦我再次打开应用程序,我发现计时器已经打开了多个对话活动。那么我如何让对话活动继续显示设备中的任何位置?
守则:
tt = new TimerTask()
{
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
Intent openD = new Intent(MainActivity.this,Dialog.class);
openD.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(openD);
}
});
}
};
t = new Timer();
t.schedule(tt,0,5000);
答案 0 :(得分:0)
尝试查看Background service。
答案 1 :(得分:0)
因为,当你进入主页按钮时,你的活动进入暂停状态,然后销毁,因此它没有,把你的计时器逻辑放在一个服务中并从那里打电话给你活动,这样当你回到主屏幕你的逻辑仍然处于运行状态。
阅读Activity&amp ;;的生命周期Android中的服务
http://developer.android.com/guide/components/services.html
另外,如果您希望自己的活动一直在某些活动中弹出,请确保您的服务可以保持不变。