【个人记录】使APP在user版本隐藏图标,在eng版本显示图标
来源:互联网 发布:ubuntu iptables启用 编辑:程序博客网 时间:2024/05/01 18:55
如果只是要隐藏可以在AndroidMenifest.xml里
<category android:name="android.intent.category.LAUNCHER" />改成:
<category android:name="android.intent.category.DEFAULT” />
但是这样是全部隐藏。为了能在user版本里隐藏图标,而在eng版本显示图标,则需要在Launcher代码里修改。
我用的系统源代码使用的是Launcher2,所以直接在package\apps\Launcher2里修改。
开始先是在\packages\apps\Launcher2\src\com\android\launcher2\AllAppsList.java文件的add方法里直接添加判断,遇上需要隐藏的包就不添加。在Launcher代码里判断user好像只能用android.os.Build.TYPE,在自己写的app里可以用android.os.SystemProperties,这里不能引用,有机会要查一下是为什么。
还要把自己需要处理的应用的包名和info.componentName.getPackageName()包名判断。
public void add(ApplicationInfo info) { if (android.os.Build.TYPE.equals("user")) { if ("com.intel.factorytest".equals(info.componentName.getPackageName())) { return; } } if (findActivity(data, info.componentName, info.user)) { return; } data.add(info); added.add(info);}但是这样会导致屏幕触摸出问题,暂时没找到网上的说法,我猜测是不是因为add被线程调用,多添加了判断使得响应变慢。总之不能直接在这里判断。
继续往上找,在packages\apps\Launcher2\src\com\android\launcher2\LauncherModel.java
的private void loadAllAppsByBatch() 方法里找到可以添加判断的地方(LauncherModel应该就是Launcher里图标加载的入口了吧):
for (int j=0; i<N && j<batchSize; j++) { // This builds the icon bitmaps. mBgAllAppsList.add(new ApplicationInfo(apps.get(i), user, mIconCache, mLabelCache)); i++; }添加判断后:
for (int j=0; i<N && j<batchSize; j++) { // This builds the icon bitmaps. if(android.os.Build.TYPE.equals("user") && "com.intel.factorytest".equals(apps.get(i).getComponentName().getPackageName())) { } else { mBgAllAppsList.add(new ApplicationInfo(apps.get(i), user, mIconCache, mLabelCache)); } i++; }
这样修改就达到了我想要的目的。当然在user版本隐藏图标但是不直接去掉应用是因为要通过其他方式调用应用,但是和本文无关。
0 0
- 【个人记录】使APP在user版本隐藏图标,在eng版本显示图标
- 将版本信息显示在App图标上
- 将版本信息显示在App图标上
- 隐藏app图标并不在最近运行中显示
- 自动在app图标上添加应用的版本信息
- Fedora 20及以上版本在桌面显示图标
- 隐藏菜单APP显示图标
- USER 版本与ENG 版本差异
- USER 版本与ENG 版本差异
- USER 版本与ENG 版本差异
- USER版本与ENG版本差异
- Android USER 版本与ENG 版本差异
- 在对话框显示图标
- 在plist文件中设置app图标的隐藏
- Android应用隐藏在所有程序列表内显示图标
- Android APP安装后在桌面上不显示应用图标
- Android app图标在手机桌面显示过小
- Android user 与 eng 版本的差异
- linux关于bashrc与profile的区别(转)
- dfs总结
- BZOJ-1621-[Usaco2008 Open]Roads Around The Farm分岔路口
- 查缺补漏
- break,continue,return in function
- 【个人记录】使APP在user版本隐藏图标,在eng版本显示图标
- 【剑指offer-Java版】30最小的K个数
- iOS中UIWebView中添加长按和双击事件
- Unity中鼠标左键按下,拖拽物体移动
- iOS重绘机制drawRect
- Java代码通过JDBC连接Hiveserver2
- 用到数组的相关java程序
- 关于类加载器的理解以及双亲委派模型
- PAT 1059. Prime Factors (25) 质因子分解