美文网首页
Android应用添加暗码启动

Android应用添加暗码启动

作者: DD_Dog | 来源:发表于2020-02-13 19:12 被阅读0次

    Android在拨号界面输入##12345##这样格式的代码,就会自动跳转,它是如何实现的呢?

    SecretCode的实现都是利用receiver来完成的,当检测到固定格式的字符串输入后,就会送暗码广播:

    static private boolean handleSecretCode(Context context, String input) {
            // Secret codes are in the form *#*#<code>#*#*
            int len = input.length();
            if (len > 8 && input.startsWith("*#*#") && input.endsWith("#*#*")) {
                Intent intent = new Intent(TelephonyIntents.SECRET_CODE_ACTION,
                        Uri.parse("android_secret_code://" + input.substring(4, len - 4)));
                context.sendBroadcast(intent);
                return true;
            }
            return false;
     }
    

    如果要添加暗码,例如83781,只需要在目标应用的AndroidManifest文件中注册:

    <receiver android:name="EMStartReceiver" >
        <intent-filter>
          <action android:name="android.provider.Telephony.SECRET_CODE" />
       <data android:host="83781"
            android:scheme="android_secret_code" />
        </intent-filter>
    </receiver>
    

    然后在receiver中启动主Activity,注意主Activity不要声明为Launcher。
    这样就完成了。

    相关文章

      网友评论

          本文标题:Android应用添加暗码启动

          本文链接:https://www.haomeiwen.com/subject/xwvlfhtx.html