I used postedDelayed method to refresh my Activity, which works fine. But the problem is that even when I press the Back button postdelayed method call back the previous activity..
//handler for 30000 milli-secs post delay refreshment of the activity
mHandler.postDelayed(new Runnable() {
public void run() {
dostuff();
}
}, 30000);
}
protected void dostuff() {
Intent intent = getIntent();
finish();startActivity(intent);
Toast.makeText(getApplicationContext(), "refreshed", Toast.LENGTH_LONG).show();
}
public void onBackPressed() {
super.onBackPressed();
finish();
mHandler.removeCallbacks(null);
}
protected void onStop() {
mHandler.removeCallbacks(null);
super.onStop();
}
Make a sign of boolean in your postdelayed method. Init the sign as true,when the activity is finnished , set the value of sign as false.
You can use
removeCallbacks(runnable)
method of the handler using which you are callingpostDelayed()
method. For example, if you used:for refreshing the activity, then use
in
onPause()
method of the activity.You can use this piece of code to run after a 3 sec delay.