私は定期的にサーバに何らかのフラグをチェックするアプリケーションを持っています。 このフラグの値に応じてメッセージを表示します。アプリケーションの現在の状態を取得する方法はありますか?
メッセージを表示したくない場合は、アプリケーションが前面に表示されません。 そして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);
をすることができるが、取得するには、ネイティブメソッドや方法が存在する私のような何かを、各アクティビティで アプリケーションの現在の状態(フロントのアプリケーションですか、バックグラウンドですか)
SDKサンプルのApiDemos/app/AlarmControllerのように、BroadcastReceiverでToast Notificationsを使用しています。 – Serg
ありがとうHerrmann、私はそのようにした。 – Serg
なぜonResumeメソッドにsuper.onStart()がありますか? – maysi