У меня есть приложение, которое периодически проверяет сервер на наличие каких-либо флагов.И затем отображает сообщение в зависимости от значения этого флага.
Я не хочу отображать сообщение, тогда приложение не находится впереди.И я использую SharedPreferences для хранения состояния приложения вручную.В каждом действии я делаю что-то вроде:
@Override
protected void onStart() {
super.onStart();
SharedPreferences.Editor prefs = context.getSharedPreferences("myprefs", getApplicationContext().MODE_PRIVATE).edit();
prefs.putBoolean("appInFront", true);
prefs.commit();
}
@Override
protected void onPause() {
super.onPause();
SharedPreferences.Editor prefs = context.getSharedPreferences("myprefs", getApplicationContext().MODE_PRIVATE).edit();
prefs.putBoolean("appInFront", false);
prefs.commit();
}
И это позволяет мне получить состояние приложения из предпочтения "appInFront":
SharedPreferences prefs = context.getSharedPreferences("myprefs", Context.MODE_PRIVATE);
boolean appInFront = prefs.getBoolean("appInFront", true);
Но может быть, существует собственный методспособ получить текущее состояние приложения (приложение находится в передней части или в фоновом режиме)?