2017-04-03 51 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的所有待處理文章。

相關問題