Android Secret Code
来源:互联网 发布:js 微信点击放大图片 编辑:程序博客网 时间:2024/06/08 07:57
http://www.cnblogs.com/angeldevil/p/3988772.html
我们很多人应该都做过这样的操作,打开拨号键盘输入*#*#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,可能会跟其他应用的设置冲突,不过一般情况下应用应该不会使用这个功能,非系统级应用的控制还是放到应用内比较好。
- Android Secret Code
- Android Secret Code
- Android Secret Code
- Android 编程下的 Secret Code
- Top Secret Microsoft Code
- hdu 1111 Secret Code
- hdu1111 Secret Code
- 【HDU】 1111 Secret Code
- USACO2014FebruarySilver Secret Code
- hdu 1111 Secret Code dfs
- 【dfs】hdu 1111 Secret Code
- HDU 1111 Secret Code 深搜
- bzoj3449【Usaco2014 Feb】Secret Code
- hdu1111 Secret Code ----复数+DFS
- 【USACO14FEB】洛谷3102 Secret Code
- HDU 1111 Secret Code DFS 解题报告
- HDOJ1111 Secret Code(数论+DFS)
- Secret
- Android-Junit-TestCase-ClassLoader 讨论下Android的单元测试
- 第十三周项目一之数组大折腾
- 数据库课程设计——宾馆管理系统UML状态图
- 免费全能虚拟机VirtualBox 4.3.20官方下载
- 第十三周项目4 数组排序
- Android Secret Code
- 分页导航
- Vim配置
- 构建Spark集群
- Android上的单元测试
- [leetcode]Construct Binary Tree from Inorder and Postorder Traversal
- Photoshop脚本 > 高反差保留滤镜的使用
- 语法分析
- DOS系统功能调用(INT 21H)