2016-04-16 1 views
3

Есть ли все равно, чтобы узнать, как долго приложение было закрыто с момента последнего использования? Я пишу приложение, которое управляет данными, зависит от того, как долго пользователь не использовал приложение. Например: за каждый час, когда пользователь не посещает приложение, данные, называемые «оценка», уменьшаются на 10. Поэтому, если пользователь не открыл приложение в течение 2 часов, «оценка» уменьшается на 20.Android - вычислить продолжительность, в которую пользователь не использовал applcation

So Мне просто интересно, возможно ли это, и если да, то как я могу это достичь?

Спасибо!

+2

вы можете хранить метку времени, когда пользователь закрывает приложение, которое вы можете сравнить с текущим временем, когда приложение открывается снова? – Alfie

+0

Как вы определяете «не использовать приложение»? Нажмите кнопку «Активность»? Или нажмите клавишу «домой»? Или убить процесс? – shhp

+0

@Alfie хорошая идея, я постараюсь, что –

ответ

1

в вашем магазине системного времени в вашем SharedPreferences:

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

да, это сработало! Спасибо, я отметил это как ответ :) –

Смежные вопросы