想研究Android从Linux驱动层到Android应用层的一整套流程,于是和刘同事做了个东东实现从驱动层到应用层的一整套通信,做完了,写个笔记备忘一下

总共需要增改的有四个东西,驱动、jni、java、apk

整体通信步骤如下:

linux驱动部分,主要利用sysfs文件系统建立一个class一个device和一个file,通过uevent去改变file所存储的值并通知上层,具体为利用一个定时器以固定的时间间隔发送uevent消息

最先接收linux发送的uevent的是vold,这是Android的一个守护进程,主要负责接收底层uevent的事件,并把此事件往上发送

在jni层通过register_android_server_xxxx 函数不断从sysfs中的file中读取信息,在onLoad.cpp中添加注册些服务

在java层新写一个自己的services,重写onEvent函数不断调用jni层的注册函数而更新信息,并通过Intent向上层广播

在apk层建立一个监听的服务不断监听Intent的事件并过滤,当捕获时改变一个textLabel的值从而显示出结果来

android获取uevent实例,Android的uevent通信机制相关推荐

  1. android 获取phone实例,Android ContentProvider获取手机联系人实例

    在做项目的时候,因为要用到我们自动获取联系人的姓名和电话,就想到了ContentProvider分享数据的功能,这样做既节省了时间,也减少了我们输入错误号码的几率,所以,想在这里把小demo分享给大家 ...

  2. android 获取phone实例,android – 可以通过sdk来实例化一个telephony.Phone对象吗?

    我正在尝试获取一个电话对象,以便我可以在我的应用程序内调用和会议两个数字. 我已经尝试使用静态PhoneFactory.makeDefaultPhones((上下文))这个,但没有任何运气. Stri ...

  3. android获取电话号码实例

    在Androidmanifest注册获取权限<uses-permission android:name="android.permission.READ_CONTACTS"/ ...

  4. android 获取对话框对象,Android 基本Dialog和自定义Dialog

    Android 基本Dialog和自定义Dialog Dialog类是对话框的基类,但你应该避免直接实例化Dialog ,可以使用子类 1.AlertDialog 此对话框可以显示标题,最多三个按钮, ...

  5. android获取apk版本号,android 获取apk的版本信息

    释放双眼,带上耳机,听听看~! 今天,简单讲讲android如何获取apk的版本信息. 这个很简单,但是之前还是查找了资料,所以记录一下. 一.应用程序得到自己的版本信息 /** * 得到当前应用版本 ...

  6. android 拨打电话 实例,Android实战教程第三篇之简单实现拨打电话功能

    本文实例为大家分享了Android打电话功能的实现代码,需要一个文本输入框输入号码,需要一个按钮打电话. 本质:点击按钮,调用系统打电话功能. xml布局文件代码:: xmlns:tools=&quo ...

  7. android获取键盘状态,Android获取屏幕方向及键盘状态的小例子

    Android获取屏幕方向及键盘状态的小例子 复制代码 代码如下: Configuration config = getResources().getConfiguration(); if (conf ...

  8. android获取网络图片方法,Android获取网络图片并显示的方法

    本文实例为大家分享了Android获取网络图片并显示的具体代码,供大家参考,具体内容如下 使用 HttpURLConnection 获得连接,再使用 InputStream 获得图片的数据流,通过 B ...

  9. android获取来电号码,Android获取来电号码代码详解

    对于Android平台的整个来电软件制作十分简单,Android平台在各方面都比较智能,加上一个BOOT_COMPLETED获取,保证开机自动运行,一个来电通就很容易的制作完成了. Android来电 ...

  10. android 获取当前坐标,Android获取位置信息的方法

    本文实例为大家分享了Android获取位置信息的具体代码,供大家参考,具体内容如下 1.位置服务的简介:位置服务,英文翻译为Location-Based Services,缩写为LBS,又称为定位服务 ...

最新文章

  1. oracle时间相减得到天数_【数列】从错位相减到阿贝尔变换
  2. Codeforces Round #545 B. Circus
  3. bzoj 3277 串 后缀树+子树不同数个数
  4. Markdown 五分钟速成
  5. php随机获取一行文本,一行PHP随机字符串生成器?
  6. linux监测node进程,通过node_exporter监控linux服务器一
  7. C++异常处理类与自定义异常处理类
  8. 19 条法则,教你写出火爆 GitHub 的烂代码!
  9. addWeighted()
  10. Adaptive Execution patch and how to bulid on cdh5
  11. 分号可以用来分段么_阳台竟然可以这样装,别再忽视它了
  12. web控制串口.html,[转]web串口调试助手,浏览器控制串口设备
  13. 2013年C++A:买不到的数目(互质数)
  14. 谜题35:一分钟又一分钟
  15. CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)概念区分理解
  16. RHEL6基础二十四之RHEL软件包管理③源码安装
  17. vue src动态加载请求获取的图片
  18. Mac环境下设置打印机驱动程序
  19. 中文老师经常说的IB课程,到底是什么?
  20. android课程设计体重测量仪,智能体重检测仪设计与实现

热门文章

  1. 疫情下互联网又遇“荒年”?有人裁员降薪,可仍有人逆势扩招!
  2. mysql 首字母大写查询语句
  3. 机器学习实战(二)LR算法:实现简单的分类模型
  4. 10-28 查询选修张老师讲授所有课程的学生(对自己来说有难度的一道题)
  5. 大仙来了【20年复试上机真题】
  6. PHP做闹钟APP,私藏很久的4款效率APP,一个比一个好用,30万网友推荐
  7. 使用Python自带的IDLE默认打开.py文件
  8. h5 iframe嵌套页面_汇总IOS下奇葩BUG以及iframe嵌套页面带来的一些困扰
  9. CSS基础面试题精选
  10. 逆向图片搜索 搜索自己想搜索的