前段时间遇到类似这样的提问:“比如我不想让某个程序显示在程序列表的菜单中,但是我可以通过一串数字让其显示。如我不想让xxxx应用在程序列表中显示,但是在拨号盘界面输入一串字符后如:*765*6368#,就可以启动xxxx应用。”
现在将解决方案如下:
1.在相应的应用AndroidManifest.xml 文件中将<category android:name="android.intent.category.LAUNCHER" /> 注释掉,这样就删除该应用的显示。
2.在SpecialCharSequenceMgr.java (src\com\android\contacts)中添加相应的号码并做处理。(可以模仿handleSecretCode等方法自己写一个方法用于接收该号码并intent跳转到对应已删除掉显示的应用)。
如果遇到第三方提供apk的情况下,可以参考上篇博文来修改AndroidManifest.xml来隐藏对应的应用。