【问题标题】:How to destroy previous activity when you jumped to next activity跳转到下一个活动时如何销毁上一个活动
【发布时间】:2014-04-19 23:13:06
【问题描述】:

我有活动 A,有计时器线程。 5 秒后,它通过意图跳转到活动 B。当您在活动 B 上时如何销毁活动 A,以便后退按钮不让您返回活动 A。

【问题讨论】:

  • “有定时器线程”我敢打赌你不需要自己的线程。试试postRunableDelayed

标签: java android multithreading android-intent


【解决方案1】:

你必须清除活动的backstack。

intent = new Intent(this, Activity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
StartActivity(intent);

【讨论】:

    【解决方案2】:

    当您将意图从 A 转移到 B 时,只需调用 finish()

    【讨论】:

    • 我做了,但是计时器线程不起作用。我猜它也会用 finish() 破坏。
    • 公共静态A a; onCreate() { a = 这个;现在在另一个 Activity 中使用该对象来完成这样的第一个活动,在 B 活动上 onCreate() {//当你的计时器完成时... A.a.finish(); }
    【解决方案3】:

    试试这个...

    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);
      }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-15
      相关资源
      最近更新 更多