修改packages/apps/Dialer下的SpecialCharSequenceMgr.java即可,不同android 版本具体路径可能不一样,笔者的修改基于android 7.1 sdk。

效果:

在拨号键盘输入*#1024#*,打开在launcher里面不显示图标的test app。

使用场景:

显示一些隐秘的系统信息,或者打开测试工具,等等

patch如下:

diff --git a/packages/apps/Dialer/src/com/android/dialer/SpecialCharSequenceMgr.java b/packages/apps/Dialer/src/com/android/dialer/SpecialCharSequenceMgr.javaold mode 100755new mode 100644index 24c3198..5e11c0a--- a/packages/apps/Dialer/src/com/android/dialer/SpecialCharSequenceMgr.java+++ b/packages/apps/Dialer/src/com/android/dialer/SpecialCharSequenceMgr.java@@ -23,6 +23,7 @@ import android.app.KeyguardManager; import android.app.ProgressDialog; import android.bluetooth.BluetoothAdapter; import android.content.ActivityNotFoundException;+import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface;@@ -80,6 +81,7 @@ public class SpecialCharSequenceMgr {          private static final String MMI_REGULATORY_INFO_DISPLAY = "*#07#";      private static final String PRL_VERSION_DISPLAY = "*#0000#";+    private static final String CODE_TEST = "*#1024#*";     private final static String LOG_SETTINGS = "*#3333#*"; @@ -147,6 +149,7 @@ public class SpecialCharSequenceMgr {              String dialString = PhoneNumberUtils.stripSeparators(input);          if (handleDeviceIdDisplay(context, dialString)+                || handlePcbaTest(context, dialString)                 || handlePRLVersion(context, dialString)                 || handleRegulatoryInfoDisplay(context, dialString)                 || handlePinEntry(context, dialString)@@ -176,6 +179,21 @@ public class SpecialCharSequenceMgr {          } +    static private boolean handleCodeTest(Context context, String input) {     +        if (input.equals(CODE_TEST)) {     +            try {     +                Intent intent = new Intent();+                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);+                intent.setComponent(new ComponentName("com.code.test", "com.code.test.MainActivity"));+                context.startActivity(intent);+                return true;+            } catch (ActivityNotFoundException e) {     +                Log.d(TAG, "no activity to handle test");+            }+        }+        return false;+    }+     static private boolean handlePRLVersion(Context context, String input) {              if (input.equals(PRL_VERSION_DISPLAY)) {                  try {     

更多相关文章

  1. android 获取.thumbnail文件下的小图标
  2. android自带图片资源图标一览,android.R.drawable
  3. Android引用ttf图标字体库
  4. Android 动态改变app图标
  5. (Android)react-native更改状态栏文字和图标颜色
  6. Android根据包名取得指定程序包的信息(名称、图标……)
  7. Android应用程序中应用图标和名字的设置
  8. android 创建快捷图标demo
  9. Android P Launcher APP替换图标不随系统固定格式而改变

随机推荐

  1. MYSQL 多表联合查询并分组的问题?
  2. mybatis中mysql多条件查询
  3. 怎样在办公网络通过跳板机获取生产环境的
  4. PLSQL乱码解决方案
  5. mysql每天凌晨0点准时启动taskeng.exe如
  6. 50个查询系列-第9个查询:查询所有课程成绩
  7. 新手求学:用VF如何去添加、删除、修改SQL
  8. SQL Server中的TextPtr函数
  9. 如何在MS Access查询中重复模式
  10. 连接WCF报EntityFramework.SqlServer 错