android程式前臺切換
阿新 • • 發佈:2018-12-20
在開發過程中有這麼一個需求,就是廣告介面需要一直在前臺播放,處於後臺的時候需要自動切到前臺來。找了一個究極的解決方案,使用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
記錄一下方便以後再次使用