您的位置:首页 > 移动开发 > Android开发

Android Launcher3 隐藏指定应用图标

2017-03-29 19:43 891 查看
http://blog.csdn.net/paullovazxq/article/details/52154468

分两种情况:
  1.有源码的应用。
  因为Launcher是根据应用清单文件里

[java] view
plain copy

 





<category android:name="android.intent.category.LAUNCHER"/>  

  来显示图标,所以如果我们有应用的源码,可以直接将清单文件里的这句话去掉,应用便不会在桌面上显示了。做整机项目的话packages\apps目录下的系统应用都可以使用此方法。

  2.没有源码的应用。
  这里用到packages\apps\Launcher3\src\com\Android\launcher3文件夹下的LauncherModel.Java文件,里面有个loadAllApps()方法,其中将所有应用的信息添加到数组的代码块如下:

[java] view
plain copy

 





for (int i = 0; i < apps.size(); i++) {  

    LauncherActivityInfoCompat app = apps.get(i);  

    mBgAllAppsList.add(new AppInfo(mContext, app, user, mIconCache, mLabelCache));  

}  

我们要做的,就是跳过我们要隐藏的应用,修改如下:

[java] view
plain copy

 





for (int i = 0; i < apps.size(); i++) {  

    LauncherActivityInfoCompat app = apps.get(i);  

    if("com.android.contacts".equals(apps.get(i).getApplicationInfo().packageName)  

        || "com.android.mms".equals(apps.get(i).getApplicationInfo().packageName)){  

        continue;  

    }  

    mBgAllAppsList.add(new AppInfo(mContext, app, user, mIconCache, mLabelCache));  

}  

  这里是将联系人和短信应用隐藏掉。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: