手机来电或者通话时闪烁的LED效果,比较绚丽,找了机会,研究了一下。。

一 .  分析过程

1.  既然是闪光,那肯定是跟Light有关系了,于是乎,找到了一个LightService.java的文件,实现了IBinder接口,可以用于进程间通信。看起来好像是找到了  !  如下:

public class LightsService  extends ILightService.Stub {},

但是突然失望的发现,这个对象在安卓系统中并没有公布它的系统服务接口。。 换句话说,我们不能通过

getSystemService(String service_name) 的方式来获取它的引用(Context.jva里面并没有这个服务的字符串)。所以得找另外的方法。

2.  继续寻找哪里有个系统的引用。。好的好的,在SystemServer.java,这个专门用于拉起系统服务的类中,我们找到了这样的代码 lights = new LightsService(context); 是的,它就是在这里实例化的。然后继续调用

Slog.i(TAG, "Notification Manager");

notification = new NotificationManagerService(context, statusBar, lights);

嗯!没错,它被防到通知服务里面去了。^_^, 这个服务我们是可以获取到滴!

NotificationManager notify =(NotificationManager)  getSystemService(Context.NOTIFICATION_SERVICE);

然后我们就可以通过NotificationManager来控制Led灯了!

3.  继续研究NotificationManagerService.java类,终于发现它里面有个BroadCastReceiver, 在onReceive方法里面有这样的代码:

else if (action.equals(TelephonyManager.ACTION_PHONE_STATE_CHANGED)) {

mInCall = (intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(

TelephonyManager.EXTRA_STATE_OFFHOOK));

updateNotificationPulse();

}

我们都知道, 当电话状态发生改变的时候,我们会发出TelephonyManager.ACTION_PHONE_STATE_CHANGED的广播。

然后这里慢慢进去,就是调用到LightService里面的一些东东了,LightService里面有些本地方法。下面的就是底层做的事情了。

不过,当然,这得咱们的手机支持Led灯才可以呀!

随手所记, 不知所云, ^_^

+5

原创内容

2012-12-29 20:50

分享至:

android增加来电闪光灯功能吗,安卓关于来电与短信闪光灯功能研究相关推荐

  1. 安卓短信功能全解:调用系统短信功能发送短信、彩信,使用SmsManager发送短信,并监听发送短信的投递情况,使用广播接收器监听接收的短信。

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓短信功能全解:调用系统短信功能发送短信.彩信,使用SmsManager发送短信,并监听发送短信的投递情况,使用广播接收器监听接收的短信. 首先需要 ...

  2. 安卓之实现一个简单的短信发送功能

    1.首先,新建一个安卓项目,打开项目下的res下的layout,里面有个activity_main.xml布局文件,打开来,修改里面的代码,其中第一个EditText下的android:inputTy ...

  3. 使用Android studio实现打电话和发送短信的功能

    知识点 1:安卓6.0以上的版本如何获取拨打电话和发送短信的"权限" 2.如何进入手机通讯录并返回联系号码 3.如何实现发送短信的功能 //实现拨打电话功能的Activity pa ...

  4. 手把手教你如何在安卓平台上实现打电话发短信的功能

    首发地址 http://www.eoeandroid.com/thread-228079-1-1.html 1 案例目的 本案例通过一个简单通讯工具来巩固android的activity.Linear ...

  5. android短信接收器的实现,可以实现自动填写短信验证码功能

    项目介绍 项目地址: SmsObserverForAndroid 介绍 这是一个用于拦截android实时短信的库,可以进行短信过滤,得到自己想要的内容,可以用于需要自动填写短信验证码的app项目 功 ...

  6. [Android]手机短信验证功能

    介绍 短信验证功能大家都很熟悉了.在很多地方都能见到,注册新用户或者短息验证支付等.短信验证利用短信验证码来注册会员,大大降低了非法注册,很大程度上提高了用户账户的安全性. 目前市面上已经有了很多提供 ...

  7. android 短信迁移到iphone,将安卓手机上的短信导入到iphone上的方法

    很多用安卓手机的朋友们换iphone5之后,之前手机里的一些数据想倒到新手机里都是比较棘手的问题,尤其是不同的操作系统,像android--ios这样,今天看到个新方法,特意转过来给大家分享一下,方法 ...

  8. Android Studio使用Mob实现短信验证功能遇到的问题解决

    一.Mob短信验证 全球领先的数据智能科技平台-MobTech袤博解决 进行注册登入 登入成功后,点击开发者服务中的短信验证,来到开发者平台 填好信息创建成功就是下图,可以看到对应信息如下(AppKe ...

  9. Android Studio精彩案例(五)《JSMS短信验证码功能实现》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 很多应用刚打开的时候,让我们输入手机号,通过短信验证码来登录该应用.那么,这个场景是怎么实现的呢?其实是很多开放平台提供了短信验证功能 ...

  10. Android实现短信验证功能(功能的使用)

    上一篇我们实现了短信验证功能的前期准备的工作,这篇我们就详细的来介绍如何实现利用手机号完成注册 如何没有做准备工作的,请参看上一篇,开始前的准备:http://blog.csdn.net/u01169 ...

最新文章

  1. 使用rar备份mysql_用RAR备份源代码_用WSH备份数据库
  2. Nginx配置跨域请求 Access-Control-Allow-Origin *
  3. gateway整合hystrix
  4. 00后社交突围:今天你CDX了吗?
  5. FreeSql与SqlSugar性能测试对比
  6. matlab中fir1中的边界频率,FIR滤波器的MATLAB设计与实现.pdf
  7. 【项目管理和构建】——Maven简介(一)
  8. 九齐51单片机使用注意事项:不要用float
  9. LeetCode 660. 移除 9(9进制)
  10. 2008年3月移动开发Webcast预告
  11. mysql学习day01
  12. 在 Ubuntu 中更换字体
  13. perl语言语法基础
  14. 网络规划设计师水平考试备考资料(6.光纤相关)
  15. 智伴机器人自动关机后怎么开机_智伴机器人
  16. c语言中输出以e为底的指数,c语言中以e为底的指数怎么表示 c++中怎样表示以e为底的...
  17. JavaScript/js 转 Python 代码转换神器 jiphy
  18. SELECT 1 FROM DUAL中的DUAL的作用
  19. pythonrq模块_Python RQ 任务队列中的队列 ( Queue )
  20. 精读Tree Energy Loss: Towards Sparsely Annotated Semantic Segmentation

热门文章

  1. 【多文集合】古董电脑清灰+双系统安装
  2. 浏览器利用框架BeEF测试-成功截取微博账号
  3. 春运抢票要堤防恶意软件
  4. oracle:sql保留两位小数方法
  5. 设备状态检测系统串口网络TCP UDP带有modbus
  6. Android很多功能iPhone没有,为什么越来越多的人选择Android手机,iPhone到底哪点比不了?...
  7. MongoDB查询条件 lt lte gt gte
  8. 什么数据库能抗住《王者荣耀》的1亿DAU?
  9. 僵尸网络启示录:一个病毒的自白(3)
  10. 今天你们的朋友圈是不是被它刷屏了?