何谓暗码?就是你打开电话应用,点击拨号盘输入的一串字符。
在framework层开发一些测试工具时,我们不希望普通用户能接触到这类测试工具,就会经常使用到暗码这种方式来启动APP。
具体操作过程如下:
1.先隐藏掉APP的应用图标
即删除APK源码目录下的AndroidManifest.xml中的<category android:name="android.intent.category.LAUNCHER" />这句代码。
删除应用图标之后,用户就不能再通过点击图标的方式进入应用了。
2.添加暗码启动方式
修改项目目录下的vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/dialer/app/dialpad/DialpadFragment.java
@Override
public void afterTextChanged(Editable input) {
...
String monkeyTest = "*#**45678#";
if(mDigits.getText().toString().equals(monkeyTest)){
final Context mContext = getActivity();
Intent intent = new Intent("moranqinyue.intent.action.ACTION_START");
intent.addCategory("moranqinyue.intent.category.MONKEYTEST_CATEGORY");
intent.setFlags(Intent.FLAG_A