如何在应用程序进入后台时删除回叫?

时间:2017-04-03 07:24:21

标签: android

我使用runnable方法,当应用程序进入后台并且应用程序进入前台时它们可以正常工作但是第一次没有背景它们无法工作。工作。 我的代码如下。

 runnable = new Runnable() {
                        public void run() {
                            pd.dismiss();
                            Toast.makeText(context, "Login Successfully", Toast.LENGTH_SHORT).show();
                            Intent intent = new Intent(getApplicationContext(), WSSD.class);
                            toEdit.putString("LoginFlag", "true");
                            toEdit.commit();
                            intent.putExtra("AppMode", "online");
                            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                            intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
                            startActivity(intent);
                            overridePendingTransition(R.anim.pull_in_right, R.anim.pull_out_left);

                            handler.postDelayed(this, 3000);
                        }
                    };

/////////////////////////

@Override
    protected void onResume() {
        handler.postDelayed(runnable, 5000);
        MyApplication.activityResumed();
        super.onResume();
    }

    @Override
    protected void onPause() {
        handler.removeCallbacks(runnable);
        MyApplication.activityPaused();
        super.onPause();
    }

1 个答案:

答案 0 :(得分:2)

@Override
protected void onStop() {
    super.onStop();
    if(handler != null){
        handler.removeCallbacks(runnable);
    }
}
  

void removeCallbacks(Runnable r)

     

删除邮件队列中的Runnable r的所有待处理帖子。