Android 实现监听应用从后台回到前台

来源:互联网 发布:手机淘宝贷款申请步骤 编辑:程序博客网 时间:2024/04/27 23:31

面主要有这样的场景:
1.桌面 -> 主页面

生命周期如下:… –(点 HOME 或者返回)–> 主页面#onPause –(重新打开应用)–> 主页面#onResume -> …

2.子页面 -> 主页面

生命周期如下:… -> 子页面#onPause -> … -> 主页面#onResume ->…

我们只要知道上一次主页面调用了 onPause,这一次主页面调用了 onResume,那么就可以确定我们应用是从其他地方回来,当然包含桌面或者其他 APP。

public class AppRunningStatusCallbacks implements Application.ActivityLifecycleCallbacks {    private boolean mMainOnPaused = false;    private boolean mMainOnResumed = false;    @Override    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {    }    @Override    public void onActivityStarted(Activity activity) {    }    @Override    public void onActivityResumed(Activity activity) {        mMainOnResumed = (activity instanceof MainActivity);        if (mMainOnPaused && mMainOnResumed) {            // 应用从桌面或者其他地方回来            // 可以做一些回调        }    }    @Override    public void onActivityPaused(Activity activity) {        mMainOnPaused = (activity instanceof MainActivity);    }    @Override    public void onActivityStopped(Activity activity) {    }    @Override    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {    }    @Override    public void onActivityDestroyed(Activity activity) {    }}
0 0
原创粉丝点击