Android 前后臺切換通知實現
2023-04-12
1.背景:
我們在做應用開發(fā)的時候,經常需要對應用監(jiān)聽判斷,當前應用是否處于前臺還是后臺,包括如果切到后臺收到通知做一些功能。以前我們常見的做法通過方法來判斷,其實還有其他的簡單方法,接下來我們將使用一些常規(guī)比較穩(wěn)當的方法。
onTrimMemory和
registerActivityLifecycleCallbacks
2.詳解
2.1public void onTrimMemory(int level)(前臺切到后臺) 這個方法屬于application的方法,我們只要對方法進行覆蓋即可,父類已提供,在level標識中,
TRIM_MEMORY_UI_HIDDEN:標識當前UI不可見,也就是我們把app切到后臺了。這個時候我們通過eventgBus或者其他的方法通知其他Activity做相應的操作,這個方法提供的是判斷切到后臺

2.2registerActivityLifecycleCallbacks(后臺切回前臺)
public void registerActivityLifecycleCallbacks(ActivityLifecycleCallbacks callback),只注冊該方法,接口回調如下
void onActivityCreated(Activity activity, Bundle savedInstanceState);
void onActivityStarted(Activity activity);
void onActivityResumed(Activity activity);
void onActivityPaused(Activity activity);
void onActivityStopped(Activity activity);
void onActivitySaveInstanceState(Activity activity, Bundle outState);
void onActivityDestroyed(Activity activity);
我們只需要在onActivityStarted回調中進行處理從后臺切回前臺的通知即可

最后,在基類中,接收該通知,注意:如果App混淆了,需要keep一下基本的eventBus接收類。
小黑板:
*App混淆不清的可以訪問我這篇文檔:android一站式解決混淆
本文僅代表作者觀點,版權歸原創(chuàng)者所有,如需轉載請在文中注明來源及作者名字。
免責聲明:本文系轉載編輯文章,僅作分享之用。如分享內容、圖片侵犯到您的版權或非授權發(fā)布,請及時與我們聯系進行審核處理或刪除,您可以發(fā)送材料至郵箱:service@tojoy.com






