(技术)Android Activity在后台如何切换到前台

2019-03-25  本文已影响0人  点映文艺

···
先说说 moveTaskToBack()方法:
在activity中调用 moveTaskToBack(boolean nonRoot)方法即可将activity 退到后台,注意不是finish()退出。
false -----> 只有当前activity是task根,指应用启动的第一个activity时,才有效;
true ------> 则忽略这个限制,任何activity都可以有效。

moveTaskToBack可以将Activity切换到后台,那又如何将Activity恢复到前台呢?
说说应用场景吧,在播放器用有小窗口播放的需求,点击 小窗按钮,播放器切换到桌面进行小窗播放,
那既然能小了,那么肯定就能大?也就是恢复到小窗口切换前的状态。
问题就来了,这该怎么做呢?

@TargetApi(11)
protected void moveToFront() {
    if (Build.VERSION.SDK_INT >= 11) { // honeycomb
        ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningTaskInfo> recentTasks = manager.getRunningTasks(Integer.MAX_VALUE);
        for (int i = 0; i < recentTasks.size(); i++){
            Log.e("xk", "  "+recentTasks.get(i).baseActivity.toShortString() + "   ID: "+recentTasks.get(i).id+"");
            Log.e("xk","@@@@  "+recentTasks.get(i).baseActivity.toShortString());
            // bring to front
            if (recentTasks.get(i).baseActivity.toShortString().indexOf("包名/根Activity完全限定名") > -1) {
                manager.moveTaskToFront(recentTasks.get(i).id, ActivityManager.MOVE_TASK_WITH_HOME);
            }
        }
    }
}

···

想不想联系到我?不想?不想就算了,关了页面走吧,我的QQ群:578060039 也不告诉你了

打完收工

上一篇 下一篇

猜你喜欢

热点阅读