2016-07-04 7 views
2

私がこの回答に基づいて非アクティブタイマー実装しています:コメントはオリジナルのポストからの提案として私がするハンドラーとのRunnableを変更しているので、私は、複数のアクティビティ間で動作するタイマーを必要https://stackoverflow.com/a/12481918/6298161Androidの非アクティブタイマー

を静的。

コメントを入れた実行可能ファイル内の新しいアクティビティにどのようにリダイレクトするのですか?どんな助けもありがとうございます。

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

私は静的にしてはいけないと思います。保護された状態を維持してから、新しいアクティビティを開始するときに、インテント内に整数変数(タイマーが実行された残りの時間または時間)を入れてください。その後、新しいアクティビティを作成すると、その値が取得され、その値に基づいてタイマーが設定されます。

関連する問題