2016-04-16 11 views
3

最後に使用してからアプリケーションが終了した時間を調べるにはどうしたらいいですか?私はデータを操作するアプリケーションを書いていますが、ユーザーがアプリケーションをどれだけ長く使っていないかによって異なります。たとえば、ユーザーがアプリを訪れていない1時間ごとに、「スコア」というデータが10ずつ減少します。つまり、ユーザーが2時間アプリを開いていない場合、「スコア」は20だけ減少します。Android - ユーザーがアプリケーションを使用していない時間を計算する

So私はそれが可能かどうか疑問に思っています。もしそうなら、どうしたらいいですか?

ありがとうございます!あなたのSharedPreferencesであなたの店舗システム時間の

+2

あなたはタイムスタンプを保存することができますユーザーがアプリを閉じると、アプリをもう一度開いたときの現在の時間と比較できますか? – Alfie

+0

「アプリケーションを使用しない」をどのように定義しますか?メインの「アクティビティ」を押し返しますか?またはホームキーを押しますか?またはプロセスを殺すか? – shhp

+0

@Alfie良いアイデア、私はそれを試してみる –

答えて

1

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
prefs.edit().putLong("last_used",System.currentTimeMillis()).commit(); 

とあなたのonResumeでは「last_used」の値を読み、計算を行いますとき

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 
long lastTime = prefs.getLong("last_used"); 
long currentTime = System.currentTimeMillis(); 

//Now do the calculations as you like 
+0

あなたの提案をありがとう、私はこれを試して、それがどのように行くのかを報告します! –

+0

@XMaiこれで問題は解決しましたか? – Pooya

+1

はい、それは働いた!ありがとう、私は答えとしてマーク:) –

関連する問題