1
我有一個應用程序定期檢查服務器的一些標誌。 然後根據此標誌的值顯示一條消息。有沒有辦法獲得應用程序的當前狀態?
我不想顯示消息,那麼應用程序不在前面。 我使用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);
但可能存在本地方法或方式來獲得應用程序的當前狀態(應用程序是在前臺還是在後臺)?
我在BroadcastReceiver中使用Toast Notifications,就像SDKDeveloper中的ApiDemos/app/AlarmController一樣。 – Serg
謝謝赫爾曼,我這樣做了。 – Serg
爲什麼在onResume方法中有super.onStart()? – maysi