1. 程式人生 > >android程式前臺切換

android程式前臺切換

在開發過程中有這麼一個需求,就是廣告介面需要一直在前臺播放,處於後臺的時候需要自動切到前臺來。找了一個究極的解決方案,使用ActivityManager

 ActivityManager mAm = (ActivityManager) getApplication().getSystemService(Context.ACTIVITY_SERVICE);
                List<ActivityManager.RunningTaskInfo> taskList = mAm.getRunningTasks(100);
                for (ActivityManager.RunningTaskInfo rti : taskList) {
                    //找到當前應用的task,並啟動task的棧頂activity,達到程式切換到前臺
                    if (rti.topActivity.getPackageName().equals(getApplication().getPackageName())) {
                        mAm.moveTaskToFront(rti.id, 0);
                        return;
                    }
                }

按返回鍵切換到桌面,不要呼叫ondestory,程式碼如下


        Intent intent= new Intent(Intent.ACTION_MAIN);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addCategory(Intent.CATEGORY_HOME);
        startActivity(intent); // 點選返回鍵是相當於按下home鍵,不銷燬此activity,會呼叫onstop 但不會呼叫ondestory

記錄一下方便以後再次使用