Android应用隐藏包名

开发过程中需要对某个应用进行内置并隐藏其包名,可以按照如下代码处理

ApplicationPackageManager.java(frameworks\base\core\java\android\app)中

/** @hide Same as above but for a specific user */
    @Override
    public List<ResolveInfo> queryIntentActivitiesAsUser(Intent intent,
                                                   int flags, int userId) {
        try {
            //hide start
            List<ResolveInfo> infos = mPM.queryIntentActivities(intent,
                                                               intent.resolveTypeIfNeeded(mContext.getContentResolver()),
                                                               flags,
                                                               userId);
           //just input package name which app you want to hide 
           String[] hideAppPackageNames = {    
                                          "com.android.xxxx",
                                           "eu.chainfire.xxxx"
                                          };
           List<String> packageNameFilter = Arrays.asList(hideAppPackageNames);
           List<ResolveInfo> newInfos = new ArrayList<ResolveInfo>();
               for(ResolveInfo info : infos){
                  String packageName = info.activityInfo.packageName;           
                  if(!packageNameFilter.contains(packageName)){
                    newInfos.add(info);
                  }
               }
               return newInfos;
	//hide end
        //    return mPM.queryIntentActivities(
        //        intent,
        //        intent.resolveTypeIfNeeded(mContext.getContentResolver()),
         //       flags,
          //      userId);
        } catch (RemoteException e) {
            throw new RuntimeException("Package manager has died", e);
        }
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值