launcher3的桌面有apk的图标属性是因为清单文件的
<category android:name="android.intent.category.LAUNCHER"/>这个属性,所以一个apk可以有多个桌面图标属性,比如Velvet.apk(- -。很多人不知道这个就是google.quicksearchbox这包名对应的apk,主要是包名和apk名字不一致,以前我也找了好久)就有两个图标,一个是Google,一个是VoiceSearch。
相关应用场景
1.桌面图标客制化,有的时候需要客制化预置的apk图标,前提就是要知道这个apk的有
android.intent.category.LAUNCHER属性的包名和类名,方法是反编译获得清单文件之后去看包名类名即可,有的是用adb命令去抓包名类名获得的,一般的主界面的activity都是默认的图标属性的包名类名,但是也不是100%,因为你抓到的主界面的包名类名可能是实际的首界面跳转之后的那个界面
2.MTK平台遇到过一种客户反馈的bug,桌面没有录音apk的图标,但是实际编译了SouderRecoder这个apk,机器里面 也有这个apk,但是就是桌面看不到图标,后面一看清单文件,原来是清单文件没有加那个属性引起的
3.需要隐藏VoiceSearch图标,在launcher3中的LauncherMode中过滤了google.quicksearchbox包名之后VoiceSearch是去掉了,但是Google图标也被过滤了,实际只要过滤VoiceSearch图标对应的android.intent.category.LAUNCHER属性的包名和类名就行了,而不是只过滤包名,因为两个图标属性都是共一个包名的,这样解过滤桌面图标还有一个bu