Android Secret Code

我们很多人应该都做过这样的操作,打开拨号键盘输入*#*#4636#*#*等字符就会弹出一个界面显示手机相关的一些信息,这个功能在Android中被称为android secret code,除了这些系统预置的secret code,我们也可以实现自己的secret code,而且实现起来非常简单。

要实现自己的secret code,只需要向系统注册一个Broadcast Receiver,不需要任何权限,如下所示:

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

只需要注册action为android.provider.Telephony.SECRET_CODE,并且scheme为android_secret_code的Broadcast Receiver,这样当用户在拨号键盘输入*#*#0123#*#*时就会调用我们注册的Receiver了,在Receiver中把接收到的Intent信息打出来会是这样:

Intent { act=android.provider.Telephony.SECRET_CODE dat=android_secret_code://0123 flg=0x10 cmp=me.angeldevil.secretcode/.SecretReceiver }

这个逻辑的处理在拨号应用里,如果使用第三方拨号应用而这个应用又没有处理的话,也许会失效。

那么这个功能有什么做用呢?这个就看应用需要了,由于这个Broadcast Receiver运行在你自己的应用进程内,所以可以读取你应用内的一切数据。比如说你可以在接收到Broadcast后dump应用状态,可以打开一个Activity做一些特殊设置,可以启用/禁用一些功能(比如Flyme就可以在输入*#*#6961#*#*后在设置中显示一些辅助功能,可以开启Root等)。

但是,不同的Receiver可以注册相同的android:host,可能会跟其他应用的设置冲突,不过一般情况下应用应该不会使用这个功能,非系统级应用的控制还是放到应用内比较好。

时间: 2024-11-07 04:41:08

Android Secret Code的相关文章

Android 编程下的 Secret Code

我们很多人应该都做过这样的操作,打开拨号键盘输入 *#*#4636#*#* 等字符就会弹出一个界面显示手机相关的一些信息,这个功能在 Android 中被称为 Android Secret Code,除了这些系统预置的 Secret Code,我们也可以实现自己的 Secret Code,而且实现起来非常简单. 要实现自己的 Secret Code,只需要向系统注册一个 Broadcast Receiver,不需要任何权限,如下所示: <receiver android:name=".Se

Debugging Native Android Platform Code

来自: http://source.android.com/devices/tech/debug/index.html This page contains a summary of useful tools and related commands for debugging, tracing, and profiling native Android platform code. The pages within this section contain detailed informati

【微信】根据appid, secret, code获取用户基本信息

function getUserInfo(){ $appid = "yourappid"; $secret = "yoursecret"; $code = $_GET["code"]; $get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid.'&secret='.$secret.'&code='.$code.'&g

The secret code

The secret code Input file: stdinOutput file: stTime limit: 1 sec Memory limit: 256 MbAfter returning from the trip, Alex was unpleasantly surprised: his porch door had a new combination lock. Alexcan not get into his house! Code lock contains N disk

GDB + gdbserver 远程调试android native code

原文地址:GDB + gdbserver 远程调试android native code 作者:tq08g2z 以调试模拟器中的native library code为例. Host: ubuntuTarget: Android ICS 1.将gdbserver放入设备. 确保系统有arm-*-gdb,及存在设备端将要运行的gdbserver,gdbserver可以由google ndk中获取,在ndk的如下目录可以找到这个文件: 点击(此处)折叠或打开 android-ndk-r8/toolc

hdu 1111 Secret Code

http://acm.hdu.edu.cn/showproblem.php?pid=1111 复数除法: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 6 int a[110]; 7 __int64 n; 8 int x1,y1,b1,b2; 9 int t1; 10 bool flag; 11 12 void dfs(int cnt) 1

Android source code compile error: “Try increasing heap size with java option &#39;-Xmx&lt;size&gt;&#39;”

export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g" ./prebuilts/sdk/tools/jack-admin kill-server ./prebuilts/sdk/tools/jack-admin start-server Android source code compile error: "Try increasing heap size wi

[swustoj 679] Secret Code

Secret Code 问题描述 The Sarcophagus itself is locked by a secret numerical code. When somebody wants to open it, he must know the code and set it exactly on the top of the Sarcophagus. A very intricate mechanism then opens the cover. If an incorrect cod

hdu.1111.Secret Code(dfs + 秦九韶算法)

Secret Code Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 670    Accepted Submission(s): 109 Problem Description The Sarcophagus itself is locked by a secret numerical code. When somebody wan