2017-04-03 76 views
0

我使用可运行的方法,他们工作正常时,应用程序去背景和应用程序前景他们的工作,但第一次没有背景,他们不能工作。工作。 我的代码如下。如何在应用程序转到后台时删除回调?

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(); 
    } 
+0

没有问题的描述。也没有任何问题。请不要转储代码。 – greenapps

+0

当我们使用这段代码时,意图花费很多时间调用另一个activity.but应用程序转到后台并恢复该应用程序,然后运行良好。 –

+0

抱歉,不理解这个词。这是关于什么的?你的代码应该做什么? – greenapps

回答

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

空隙removeCallbacks(可运行r)的

删除消息队列中Runnable r的所有待处理文章。

相关问题