試試這個。
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