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

···
先说说 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 也不告诉你了

打完收工

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容