10秒后关闭活动?

NPL*_*PLS 8 eclipse android android-intent android-service

我用它来调用另一个活动

Main.java

 Intent intent = new Intent(this, Message_Note.class);
  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

Message_Note.java:

public class Message_Note extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.message);
    }



}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在10秒后关闭Message_Note活动?我应该使用一个线程?

Spr*_*ker 21

在100 MS之后,活动将使用以下代码完成.

public class Message_Note extends Activity 
{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.message);

        Handler handler = new Handler();

        handler.postDelayed(new Runnable() {
            public void run() {
                finish();
            }
        }, 100);
    }
}
Run Code Online (Sandbox Code Playgroud)


Chi*_*hod 7

您可以使用以下方法.

方法1

int finishTime = 10; //10 secs
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    public void run() {
        YourActivity.this.finish();
    }
}, finishTime * 1000);
Run Code Online (Sandbox Code Playgroud)

方法2

int FinishTime = 10;
int countDownInterval = 1000; 
counterTimer = new CountDownTimer(FinishTime * 1000, countDownInterval) {
    public void onFinish() {
        //finish your activity here
    }

    public void onTick(long millisUntilFinished) {
        //called every 1 sec coz countDownInterval = 1000 (1 sec)
    }
};
counterTimer.start();
Run Code Online (Sandbox Code Playgroud)