工具

2020-05-21  本文已影响0人  orgcheng
  1. 切换指定进程到前台
    public static void come2Foreground(Context context) {
        if (!isRunningForeground(context)) {
            // 获取ActivityManager
            ActivityManager mAm = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
            // 获得当前运行的task
            List<ActivityManager.RunningTaskInfo> taskList = mAm.getRunningTasks(100);
            for (ActivityManager.RunningTaskInfo rti : taskList) {
                // 找到当前应用的task,并启动task的栈顶activity,达到程序切换到前台
                if (rti.topActivity.getPackageName().equals(context.getPackageName())) {
                    mAm.moveTaskToFront(rti.id, 0);
                    break;
                }
            }
        }
    }

2.监听应用是否处于后台

        ProcessLifecycleOwner.get().getLifecycle().addObserver(new LifecycleObserver() {

            @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
            public void onAppBackgrounded() {
                //App in background
                LogUtils.wTag("fuck", "ON_STOP event background");
            }

            @OnLifecycleEvent(Lifecycle.Event.ON_START)
            public void onAppForegrounded() {
                // App in foreground
                LogUtils.wTag("fuck", "ON_START event foreground");

            }
        });
上一篇 下一篇

猜你喜欢

热点阅读