屏蔽關機全屏應用在recent列表中顯示

屏蔽關機全屏應用在recent列表中顯示

客戶要求關機界面全屏,嘗試修改framework無果,最後採用廣播方法,調用自己寫的關機APP。但是在按任務鍵的時候可以看到該應用,這是我們不希望看到的。所以想個辦法隱藏掉它。

diff --git a/packages/SystemUI/src/com/android/systemui/recent/RecentTasksLoader.java 
old mode 100644
new mode 100755
index 1011fda..bc844fd
--- a/packages/SystemUI/src/com/android/systemui/recent/RecentTasksLoader.java
+++ b/packages/SystemUI/src/com/android/systemui/recent/RecentTasksLoader.java
@@ -151,12 +151,12 @@ public class RecentTasksLoader implements View.OnTouchListener {
         Intent i = new Intent("android.intent.action.MAIN");
         i.addCategory("android.intent.category.HOME");
         List<ResolveInfo> lst = pm.queryIntentActivities(i, 0);
         if (lst != null) {
             for (ResolveInfo resolveInfo : lst) {
                 homeAI = resolveInfo.activityInfo;

                if (homeAI != null 
                     && homeAI.packageName.equals(component.getPackageName())
                     && homeAI.name.equals(component.getClassName())){
                     return true;
@@ -167,6 +167,30 @@ public class RecentTasksLoader implements View.OnTouchListener {
         return false;
     }

+
+       private boolean isCurrentDyBootActivity(ComponentName component, ActivityInfo 
+               // Don't load DyBoot activity @xiabaoyuan
+               ActivityInfo DyBoot;
+               PackageManager pm_ = mContext.getPackageManager();
+               Intent i_ = new Intent("android.intent.action.DYNA_REBOOT");
+               i_.addCategory("android.intent.category.DEFAULT");
+               List<ResolveInfo> lst_ = pm_.queryIntentActivities(i_, 0);
+
+               if (lst_ != null) {
+                       for (ResolveInfo resolveInfo_ : lst_) {
+                               DyBoot = resolveInfo_.activityInfo;
+
+                               if (DyBoot != null
+                                       && DyBoot.packageName.equals(component.getPack
+                                       && DyBoot.name.equals(component.getClassName()
+                                       return true;
+                               }
+                       }
+               }
+
+               return false;
+    }
+
     // Create an TaskDescription, returning null if the title or icon is null
     TaskDescription createTaskDescription(int taskId, int persistentTaskId, Intent ba
             ComponentName origActivity, CharSequence description) {
@@ -396,11 +420,18 @@ public class RecentTasksLoader implements View.OnTouchListener {
                 return null;
             }

+            // Don't load DyBoot activity
+            if (isCurrentDyBootActivity(intent.getComponent(), null)) {
+                return null;
+            }
+
+
             // Don't load ourselves
             if (intent.getComponent().getPackageName().equals(mContext.getPackageName
                 return null;
             }

             item = createTaskDescription(recentInfo.id,
                     recentInfo.persistentId, recentInfo.baseIntent,
                     recentInfo.origActivity, recentInfo.description);
@@ -484,6 +515,11 @@ public class RecentTasksLoader implements View.OnTouchListener {
                         continue;
                     }

+                    // Don't load DyBoot activity
+                    if (isCurrentDyBootActivity(intent.getComponent(), null)) {
+                        continue;
+                    }
+
                     // Don't load ourselves
                     if (intent.getComponent().getPackageName().equals(mContext.getPac
                         continue;
 (END)
發佈了21 篇原創文章 · 獲贊 12 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章