【发布时间】:2014-04-19 23:13:06
【问题描述】:
我有活动 A,有计时器线程。 5 秒后,它通过意图跳转到活动 B。当您在活动 B 上时如何销毁活动 A,以便后退按钮不让您返回活动 A。
【问题讨论】:
-
“有定时器线程”我敢打赌你不需要自己的线程。试试
postRunableDelayed
标签: java android multithreading android-intent
我有活动 A,有计时器线程。 5 秒后,它通过意图跳转到活动 B。当您在活动 B 上时如何销毁活动 A,以便后退按钮不让您返回活动 A。
【问题讨论】:
postRunableDelayed
标签: java android multithreading android-intent
你必须清除活动的backstack。
intent = new Intent(this, Activity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
StartActivity(intent);
【讨论】:
当您将意图从 A 转移到 B 时,只需调用 finish()
【讨论】:
试试这个...
MainActivity.java:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Waiting(5);
}
public class Waiting {
Timer timer;
public Waiting(int seconds) {
timer = new Timer();
timer.schedule(new WaitingTask(), seconds * 1000);
}
class WaitingTask extends TimerTask {
@Override
public void run() {
System.out.println("Hi, I'm waiting here!");
Intent intent = new Intent(MainActivity.this,
MainActivity1.class);
MainActivity.this.finish();
startActivity(intent);
timer.cancel();
}
}
}
}
MainActivity1.java
public class MainActivity1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity1);
}
}
【讨论】: