Android4.4[原生Settings]隐藏apk显示

在Android4.4 原生settings 应用选项 不用显示 正在运行和全部 app




在res/values/arrays.xml 添加过滤的包名


+    <!--  do not show apk in Apps-->
+    <string-array name="black_package_filter">
+        <item>cn.tv.launcher</item>
+        <item>cn.com.xxxx</item>


+        <item>cn.cibntv.stbdaemon</item>
+    </string-array>




diff --git a/res/values/arrays.xml b/res/values/arrays.xml

index 88ddc2b..468afa7 100755
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1181,4 +1181,15 @@
         <!-- Memory is critical. -->
         <item>critical</item>
     </string-array>
+
+    <!--  do not show apk in Apps-->
+    <string-array name="black_package_filter">
+        <item>cn.tv.launcher</item>
+        <item>cn.com.xxxx</item>
+    </string-array>
 </resources>
diff --git a/src/com/android/settings/applications/AppOpsState.java b/src/com/android/settings/applications/AppOpsState.java
index c396479..a785c42 100644
--- a/src/com/android/settings/applications/AppOpsState.java
+++ b/src/com/android/settings/applications/AppOpsState.java
@@ -433,6 +433,10 @@ public class AppOpsState {
 
     private void addOp(List<AppOpEntry> entries, AppOpsManager.PackageOps pkgOps,
             AppEntry appEntry, AppOpsManager.OpEntry opEntry, boolean allowMerge, int switchOrder) {
+        String []blackPkg = mContext.getResources().getStringArray(R.array.black_package_filter);
+        for(int i = 0;i < blackPkg.length; i++){
+            if(pkgOps.getPackageName().equals(blackPkg[i]))return;
+        }
         if (allowMerge && entries.size() > 0) {
             AppOpEntry last = entries.get(entries.size()-1);
             if (last.getAppEntry() == appEntry) {
diff --git a/src/com/android/settings/applications/ApplicationsState.java b/src/com/android/settings/applications/ApplicationsState.java
index d2763de..3970de1 100644
--- a/src/com/android/settings/applications/ApplicationsState.java
+++ b/src/com/android/settings/applications/ApplicationsState.java
@@ -33,6 +33,8 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.regex.Pattern;
 
+import com.android.settings.R;
+
 /**
  * Keeps track of information about all installed applications, lazy-loading
  * as needed.
@@ -572,6 +574,15 @@ public class ApplicationsState {
             if (DEBUG) Log.i(TAG, "Rebuilding...");
             for (int i=0; i<apps.size(); i++) {
                 ApplicationInfo info = apps.get(i);
+                boolean blackFilterApp = false;
+                String []blackPkg = mContext.getResources().getStringArray(R.array.black_package_filter);
+                for(int j = 0;j < blackPkg.length; j++){
+                    if(info.packageName.equals(blackPkg[j])){
+ blackFilterApp = true;
+ break;
+                    }
+                }
+                if(blackFilterApp)continue;
                 if (filter == null || filter.filterApp(info)) {
                     synchronized (mEntriesMap) {
                         if (DEBUG_LOCKING) Log.v(TAG, "rebuild acquired lock");
diff --git a/src/com/android/settings/applications/RunningState.java b/src/com/android/settings/applications/RunningState.java
old mode 100644
new mode 100755
index 94ab11d..ca420b1
--- a/src/com/android/settings/applications/RunningState.java
+++ b/src/com/android/settings/applications/RunningState.java
@@ -1158,7 +1158,18 @@ public class RunningState {
                 if (pi.mPid > 0) {
                     mProcessItems.add(pi);
                 }
-                
+                boolean notadd = false;
+                String []blackPkg = context.getResources().getStringArray(R.array.black_package_filter);
+                for(int j = 0; j < blackPkg.length; j++){
+                    if(pi.mProcessName.equals(blackPkg[j])){
+                        notadd = true;
+                    }
+                }
+                if(notadd){
+                    notadd = false;
+                    Log.v("filter app : ", "==== "+pi.mProcessName+" === ");
+                    continue;
+                }
                 // Now add the services running in it.
                 MergedItem mergedItem = null;
                 boolean haveAllMerged = false;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值