目的:在拨号键盘输入 *#*#5201314#*#* 启动自定义的某个(隐藏)应用,大胆说出你的爱!

1. 修改Android源码dialer 相关代码,自定义android_secret_code并在afterTextchanged函数中发出处理广播:

vim packages/apps/Dialer/src/com/android/dialer/dialpad/DialpadFragment.java

+private final String LOVEU = "*#5201314#*";

@Override

public void afterTextChanged(Editable input) {

+        if(LOVEU.equals(input.toString())){

+            startLove();

+            mDigits.getText().clear();

+        }

+    // After user put the number do it

+    private void startLove(){

+        Intent intent = new Intent();

+        intent.setAction("com.ckt.cxuef.loveu");

+        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

+       try{

+            // Call theReceiver

+            startActivity(intent);

+        }catch(ActivityNotFoundException ane){

+            ane.printStackTrace();

+        }

+    }

2. 修改Android工程App的AndroidManifest.xml ,定义接收广播:

android:name=".LoveUReceiver"

android:exported="true" >

android:host="5201314"

android:scheme="android_secret_code" />

3. 增加Android工程App的XXXReceiver,继承并实现广播BroadcastReceiver:

public final class LoveUReceiver extends BroadcastReceiver {

private static final String TAG = "EIROT_SECRET_CODE";

private static final String SECRET_CODE_ACTION = "android.provider.Telephony.SECRET_CODE";

// process *#*#5201314#*#*

private final Uri mLoveUri = Uri.parse("android_secret_code://5201314");

@Override

public void onReceive(Context context, Intent intent) {

if (intent.getAction() == null) {

log.i(TAG, "Null action");

return;

}

if (intent.getAction().equals(SECRET_CODE_ACTION)) {

Uri uri = intent.getData();

log.i(TAG, "getIntent success in if");

if (uri.equals(mLoveUri)) {

Intent intentLoveU = new Intent(context, LoveUActivity.class);

intentLoveU.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

log.i(TAG, "Before start LoveU activity");

context.startActivity(intentLoveU);

} else {

log.i(TAG, "No matched URI!");

}

} else {

log.i(TAG, "Not SECRET_CODE_ACTION!");

}

}

}

4. 定义Android工程App的XXXActivity,好戏从这里才刚刚开始哦!

android自定义拨号键盘,Android拨号键盘增加魔力爱心数字相关推荐

  1. Android自定义view摇杆,Android自定义View实现游戏摇杆键盘的方法示例

    前言 本文主要给大家介绍的是关于Android自定义View实现游戏摇杆键盘的相关内容,为什么会有这篇文章呢?因为在之前的一个项目,操作方向的方式为上下左右,左上需要同时按住左键和右键的方式进行操作. ...

  2. android 自定义输入法布局,Android自定义输入法使用方法

    Android自定义输入法使用方法 时间:2017-04-21     来源:Android开发学习网 对于Android用户而言,一般都会使用第三方的输入法.可是在输入密码时(尤其是支付相关的密码) ...

  3. android 自定义dialog样式,Android 自定义dialog类

    首先定制style样式 styles.xml 加入自定义样式 @null true true true @color/transparent @color/transparent true 0.6 在 ...

  4. android自定义金额输入键盘_触摸键盘的设计解析

    本文为PMCAFF作者 呆呆丶于社区发布 众所周知,移动设备的触摸键盘相比于电脑的实体键盘而言,易用性较差.原因有很多,比如使用习惯,人机工程原理,触摸实感差异等等.这些原因导致我们在使用移动设备的触 ...

  5. android 自定义输入法布局,Android InputMethodService|KeyboardView 自定义输入法和键盘 01...

    如何自定义 安卓输入法 和 键盘 1.首先有几个关键类 1.InputMethodService 2.Keyboard 3.KeyboardView 1.1 InputMethodService 看下 ...

  6. Android自定义一个车牌字母选择键盘

    在一般和车相关的应用,难免会和车牌打交道,组成车牌的要素,国内无非就是省份简称+地区代码+英文或者数字组成,比如京A12345,在需要输入车牌的功能上,就需要有省份简称键盘和英文数字键盘了,在上篇的文 ...

  7. android 自定义apk名,Android Studio多渠道打包、自定义打包APK名称

    现在为了推广产品,会在多个渠道应用市场发布应用,为了统计不同渠道的数据,需要在应用中表明渠道,如果一个一个去修改打包效率会很低.AS为我们提供了简便的方法,可以多渠道打包,一次打包所有的渠道包. 1. ...

  8. android 自定义progressbar demo,Android自定义View――动态ProgressBar之模仿360加速球

    在之前一篇文章中我们讲解了三种ProgressBar的做法,详见-><Android 自定义View--自定义ProgressBar >.这一节中我们模仿360加速球制作一个动态Pr ...

  9. Android 自定义View大全,Android中自定义View的实现方式总结大全

    Android自定义view是什么 在我们的日常开发中,很多时候系统提供的view是无法满足我们的需求的,例如,我们想给一个edittext加上清除按钮,等等. 这时候我们就需要对系统的view进行扩 ...

  10. android 自定义园动画,Android动画:一个等待动画的制作过程

    看到一个很好玩的gif等待动画,记录一下制作过程. 先上图,展示一下这gif. 图中四个空心圆,一个实心园,依次作规则双星运动. 三个晚上,目前已经已经实现了.又学到了不少东西,这几天把博客写完. 放 ...

最新文章

  1. STL: set相关算法
  2. 面向对象_3-3编程练习
  3. 疫情之危,和两类无人车落地之机 | 创新工场“疫情后”系列分享
  4. WINCE6.0 error C2220: warning treated as error问题解决
  5. Oracle大象,大象工程(石头剪刀布PK游戏)
  6. springmvc中action跳转
  7. 2017新生儿爆款名字出炉!90后的父母们最受欢迎的居然是.....
  8. 贪心——买卖股票的最佳时机(Leetcode 122)
  9. img标签过滤加fs模块实现图片文件缓存
  10. 递归加载无限级分类,虽然我觉得效率不太好。
  11. 原生指针auto_ptr的用法
  12. java用那个软件编,java编译软件 编写java程序用什么软件?
  13. 计算机组成原理——思维导图分享
  14. AD7705应用总结:
  15. 布置工作五步法,让工作布置跟高效
  16. ipadpro编写java代码_iPad Pro变生产力工具,你还缺个轻量级浏览器端代码编辑器...
  17. matlab怎么表示循环求和,matlab循环求和
  18. Sql Server Report Builder 计算标准偏差
  19. android画图奥运五环,Android 自定义View 画圆(奥运五环)
  20. windows11 截屏键无法使用 Print screen

热门文章

  1. 监听fullpage.js滚动的屏数
  2. 2022年烷基化工艺模拟考试题及烷基化工艺模拟考试题库
  3. 【ROS入门21讲】订阅者Subscriber的编程使用
  4. Sping Cloud专栏:路由Gateway有效避免 Only one connection receive subscriber allowed问题
  5. This may be due to a lack of SYSV IPC support
  6. 第11章 Linux的网络管理
  7. 记录一下中移物联网的一面(方向:前端开发)
  8. 深澜校园网web认证自动登录脚
  9. 微信开发、申请微信号测试账号
  10. 上位机开发之三菱Q系列PLC通信实践