Application里面直接搞定卸夕,廢話不說(shuō)直接上代碼
public class MyApplication extends Application {
private boolean isBackground = true;
@Override
public void onCreate() {
super.onCreate();
listenForForeground();
listenForScreenTurningOff();
}
//手機(jī)息屏
private void listenForScreenTurningOff() {
IntentFilter screenStateFilter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
isBackground = true;
notifyBackground();
}
}, screenStateFilter);
}
//應(yīng)用切換至前臺(tái)
private void listenForForeground() {
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
if (isBackground) {
isBackground = false;
}
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
});
}
//應(yīng)用切換至后臺(tái)
@Override
public void onTrimMemory(int level) {
super.onTrimMemory(level);
if (level == TRIM_MEMORY_UI_HIDDEN) {
isBackground = true;
notifyBackground();
}
}
private void notifyForeground() {
// This is where you can notify listeners, handle session tracking, etc
}
private void notifyBackground() {
// This is where you can notify listeners, handle session tracking, etc
}
public boolean isBackground() {
return isBackground;
}
}