android自定义拨号键盘,Android拨号键盘增加魔力爱心数字
目的:在拨号键盘输入 *#*#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拨号键盘增加魔力爱心数字相关推荐
- Android自定义view摇杆,Android自定义View实现游戏摇杆键盘的方法示例
前言 本文主要给大家介绍的是关于Android自定义View实现游戏摇杆键盘的相关内容,为什么会有这篇文章呢?因为在之前的一个项目,操作方向的方式为上下左右,左上需要同时按住左键和右键的方式进行操作. ...
- android 自定义输入法布局,Android自定义输入法使用方法
Android自定义输入法使用方法 时间:2017-04-21 来源:Android开发学习网 对于Android用户而言,一般都会使用第三方的输入法.可是在输入密码时(尤其是支付相关的密码) ...
- android 自定义dialog样式,Android 自定义dialog类
首先定制style样式 styles.xml 加入自定义样式 @null true true true @color/transparent @color/transparent true 0.6 在 ...
- android自定义金额输入键盘_触摸键盘的设计解析
本文为PMCAFF作者 呆呆丶于社区发布 众所周知,移动设备的触摸键盘相比于电脑的实体键盘而言,易用性较差.原因有很多,比如使用习惯,人机工程原理,触摸实感差异等等.这些原因导致我们在使用移动设备的触 ...
- android 自定义输入法布局,Android InputMethodService|KeyboardView 自定义输入法和键盘 01...
如何自定义 安卓输入法 和 键盘 1.首先有几个关键类 1.InputMethodService 2.Keyboard 3.KeyboardView 1.1 InputMethodService 看下 ...
- Android自定义一个车牌字母选择键盘
在一般和车相关的应用,难免会和车牌打交道,组成车牌的要素,国内无非就是省份简称+地区代码+英文或者数字组成,比如京A12345,在需要输入车牌的功能上,就需要有省份简称键盘和英文数字键盘了,在上篇的文 ...
- android 自定义apk名,Android Studio多渠道打包、自定义打包APK名称
现在为了推广产品,会在多个渠道应用市场发布应用,为了统计不同渠道的数据,需要在应用中表明渠道,如果一个一个去修改打包效率会很低.AS为我们提供了简便的方法,可以多渠道打包,一次打包所有的渠道包. 1. ...
- android 自定义progressbar demo,Android自定义View――动态ProgressBar之模仿360加速球
在之前一篇文章中我们讲解了三种ProgressBar的做法,详见-><Android 自定义View--自定义ProgressBar >.这一节中我们模仿360加速球制作一个动态Pr ...
- Android 自定义View大全,Android中自定义View的实现方式总结大全
Android自定义view是什么 在我们的日常开发中,很多时候系统提供的view是无法满足我们的需求的,例如,我们想给一个edittext加上清除按钮,等等. 这时候我们就需要对系统的view进行扩 ...
- android 自定义园动画,Android动画:一个等待动画的制作过程
看到一个很好玩的gif等待动画,记录一下制作过程. 先上图,展示一下这gif. 图中四个空心圆,一个实心园,依次作规则双星运动. 三个晚上,目前已经已经实现了.又学到了不少东西,这几天把博客写完. 放 ...
最新文章
- STL: set相关算法
- 面向对象_3-3编程练习
- 疫情之危,和两类无人车落地之机 | 创新工场“疫情后”系列分享
- WINCE6.0 error C2220: warning treated as error问题解决
- Oracle大象,大象工程(石头剪刀布PK游戏)
- springmvc中action跳转
- 2017新生儿爆款名字出炉!90后的父母们最受欢迎的居然是.....
- 贪心——买卖股票的最佳时机(Leetcode 122)
- img标签过滤加fs模块实现图片文件缓存
- 递归加载无限级分类,虽然我觉得效率不太好。
- 原生指针auto_ptr的用法
- java用那个软件编,java编译软件 编写java程序用什么软件?
- 计算机组成原理——思维导图分享
- AD7705应用总结:
- 布置工作五步法,让工作布置跟高效
- ipadpro编写java代码_iPad Pro变生产力工具,你还缺个轻量级浏览器端代码编辑器...
- matlab怎么表示循环求和,matlab循环求和
- Sql Server Report Builder 计算标准偏差
- android画图奥运五环,Android 自定义View 画圆(奥运五环)
- windows11 截屏键无法使用 Print screen