このようにしてください。
private static boolean isInForeground;
onResume(){
isInForground = true;
}
onPause(){
isInForground = false;
}
isInForgroundがtrue
ある場合、活動Forground(表示)に別段の表示されません。
どこからでも知りたい場合は、MainActivityで次の項目を追加します。
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
onResume(){
pref = PreferenceManager.getDefaultSharedPreferences(this);
prefEditor = prefs.edit();
prefEditor.putBoolean("isInForeground",true);
prefEditor.commit();
}
onPause(){
pref = PreferenceManager.getDefaultSharedPreferences(this);
prefEditor = prefs.edit();
prefEditor.putBoolean("isInForeground", false);
prefEditor.commit();
}
あなたのサービスから。
pref = PreferenceManager.getDefaultSharedPreferences(this);
if(pref.getBoolean("isInForeground", false)){
//MainActivity is in forground
}
else{
//not in forground
}
これは、質問を投稿した後にわかった可能性のある回答であり、本当に良い練習に見えます。リンクは本当に役に立ちます、ありがとうございます。私はこれが私が従う方法だと思う! – akalipetis
スーパーエレガントでうまくいきます! – Orr
@Antonis:これを実装する方法をコードでお知らせください。 – Sam