Android rom开发:通过拨号使用暗码打开不显示图标的应用
16lz
2021-01-23
修改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 {
更多相关文章
- android 获取.thumbnail文件下的小图标
- android自带图片资源图标一览,android.R.drawable
- Android引用ttf图标字体库
- Android 动态改变app图标
- (Android)react-native更改状态栏文字和图标颜色
- Android根据包名取得指定程序包的信息(名称、图标……)
- Android应用程序中应用图标和名字的设置
- android 创建快捷图标demo
- Android P Launcher APP替换图标不随系统固定格式而改变