2016-07-04 92 views
2

我根據這個答案執行活動定時器:https://stackoverflow.com/a/12481918/6298161的Android閒置計時器

我需要計時跨多個活動的工作,以便在評論從原來的文章建議我修改了處理程序和Runnable的是靜態的。

我現在如何重定向到我已經放置註釋的runnable中的新活動?任何幫助非常感謝

public class InactivityTimerActivity extends AppCompatActivity { 


    public static final long DISCONNECT_TIMEOUT = 300000; // 5 min = 5 * 60 * 1000 ms 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_inactivity_timer); 
    } 


    private static Handler disconnectHandler = new Handler() { 
     public void handleMessage(Message msg) { 
     } 
    }; 

    private static Runnable disconnectCallback = new Runnable() { 
     @Override 
     public void run() { 
      // I want to redirect here 
     } 
    }; 

    public void resetDisconnectTimer() { 
     disconnectHandler.removeCallbacks(disconnectCallback); 
     disconnectHandler.postDelayed(disconnectCallback, DISCONNECT_TIMEOUT); 
    } 

    public void stopDisconnectTimer() { 
     disconnectHandler.removeCallbacks(disconnectCallback); 
    } 

    @Override 
    public void onUserInteraction() { 
     resetDisconnectTimer(); 
    } 

    @Override 
    public void onResume() { 
     super.onResume(); 
     resetDisconnectTimer(); 
    } 

    @Override 
    public void onStop() { 
     super.onStop(); 
     stopDisconnectTimer(); 
    } 
} 
+0

通過擴展具有上下文參數的構造函數的Runnable來創建類。 –

回答

0

我認爲你不應該使它靜態。只要保持這種保護,然後在開始新活動時,在意圖內部(剩餘時間或定時器運行的時間)內輸入一個整數變量。然後,當創建新的活動時,您將獲得該值並將您的計時器設置爲該值。