第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何判斷Android應(yīng)用程序是否正在前臺運行?

如何判斷Android應(yīng)用程序是否正在前臺運行?

慕慕森 2019-10-26 11:19:53
我正在由c2dm觸發(fā)的android應(yīng)用中執(zhí)行狀態(tài)欄通知。如果應(yīng)用程序正在運行,我不想顯示通知。您如何確定該應(yīng)用程序是否正在運行并且在前臺?
查看完整描述

3 回答

?
繁星coding

TA貢獻1797條經(jīng)驗 獲得超4個贊

作出這樣一個全局變量private boolean mIsInForegroundMode;和分配false的價值onPause()和true價值onResume()。


樣例代碼:


private boolean mIsInForegroundMode;


@Override

protected void onPause() {

    super.onPause();

    mIsInForegroundMode = false;

}


@Override

protected void onResume() {

    super.onResume();

    mIsInForegroundMode = true;

}


// Some function.

public boolean isInForeground() {

    return mIsInForegroundMode;

}


查看完整回答
反對 回復(fù) 2019-10-26
?
慕俠2389804

TA貢獻1719條經(jīng)驗 獲得超6個贊

這是一篇很老的文章,但仍然很有用。以上接受的解決方案可能有效,但有誤。正如Dianne Hackborn寫道:


這些API并不是應(yīng)用程序用來建立UI流程的基礎(chǔ),而是用于向用戶顯示正在運行的應(yīng)用程序或任務(wù)管理器等。


是的,在內(nèi)存中有一個列表保存這些事情。但是,它在另一個進程中處于關(guān)閉狀態(tài),由與您的線程分開運行的線程進行管理,而不是您可以依靠的東西(a)及時看到正確的決定,或者(b)在返回時保持一致。加上關(guān)于“下一步”活動去的決定總是在切換發(fā)生的那一刻完成,直到直到那個確切的點(活動狀態(tài)被短暫鎖定以進行切換),我們才能做出決定真的知道接下來會發(fā)生什么。


并且這里的實現(xiàn)和全局行為不能保證將來保持不變。


正確的解決方案是實施:ActivityLifeCycleCallbacks。


這基本上需要一個應(yīng)用程序類,并且可以在其中設(shè)置處理程序以標識您在應(yīng)用程序中的活動狀態(tài)。


查看完整回答
反對 回復(fù) 2019-10-26
  • 3 回答
  • 0 關(guān)注
  • 1333 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號