android获取uevent实例,Android的uevent通信机制
想研究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通信机制相关推荐
- android 获取phone实例,Android ContentProvider获取手机联系人实例
在做项目的时候,因为要用到我们自动获取联系人的姓名和电话,就想到了ContentProvider分享数据的功能,这样做既节省了时间,也减少了我们输入错误号码的几率,所以,想在这里把小demo分享给大家 ...
- android 获取phone实例,android – 可以通过sdk来实例化一个telephony.Phone对象吗?
我正在尝试获取一个电话对象,以便我可以在我的应用程序内调用和会议两个数字. 我已经尝试使用静态PhoneFactory.makeDefaultPhones((上下文))这个,但没有任何运气. Stri ...
- android获取电话号码实例
在Androidmanifest注册获取权限<uses-permission android:name="android.permission.READ_CONTACTS"/ ...
- android 获取对话框对象,Android 基本Dialog和自定义Dialog
Android 基本Dialog和自定义Dialog Dialog类是对话框的基类,但你应该避免直接实例化Dialog ,可以使用子类 1.AlertDialog 此对话框可以显示标题,最多三个按钮, ...
- android获取apk版本号,android 获取apk的版本信息
释放双眼,带上耳机,听听看~! 今天,简单讲讲android如何获取apk的版本信息. 这个很简单,但是之前还是查找了资料,所以记录一下. 一.应用程序得到自己的版本信息 /** * 得到当前应用版本 ...
- android 拨打电话 实例,Android实战教程第三篇之简单实现拨打电话功能
本文实例为大家分享了Android打电话功能的实现代码,需要一个文本输入框输入号码,需要一个按钮打电话. 本质:点击按钮,调用系统打电话功能. xml布局文件代码:: xmlns:tools=&quo ...
- android获取键盘状态,Android获取屏幕方向及键盘状态的小例子
Android获取屏幕方向及键盘状态的小例子 复制代码 代码如下: Configuration config = getResources().getConfiguration(); if (conf ...
- android获取网络图片方法,Android获取网络图片并显示的方法
本文实例为大家分享了Android获取网络图片并显示的具体代码,供大家参考,具体内容如下 使用 HttpURLConnection 获得连接,再使用 InputStream 获得图片的数据流,通过 B ...
- android获取来电号码,Android获取来电号码代码详解
对于Android平台的整个来电软件制作十分简单,Android平台在各方面都比较智能,加上一个BOOT_COMPLETED获取,保证开机自动运行,一个来电通就很容易的制作完成了. Android来电 ...
- android 获取当前坐标,Android获取位置信息的方法
本文实例为大家分享了Android获取位置信息的具体代码,供大家参考,具体内容如下 1.位置服务的简介:位置服务,英文翻译为Location-Based Services,缩写为LBS,又称为定位服务 ...
最新文章
- oracle时间相减得到天数_【数列】从错位相减到阿贝尔变换
- Codeforces Round #545 B. Circus
- bzoj 3277 串 后缀树+子树不同数个数
- Markdown 五分钟速成
- php随机获取一行文本,一行PHP随机字符串生成器?
- linux监测node进程,通过node_exporter监控linux服务器一
- C++异常处理类与自定义异常处理类
- 19 条法则,教你写出火爆 GitHub 的烂代码!
- addWeighted()
- Adaptive Execution patch and how to bulid on cdh5
- 分号可以用来分段么_阳台竟然可以这样装,别再忽视它了
- web控制串口.html,[转]web串口调试助手,浏览器控制串口设备
- 2013年C++A:买不到的数目(互质数)
- 谜题35:一分钟又一分钟
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)概念区分理解
- RHEL6基础二十四之RHEL软件包管理③源码安装
- vue src动态加载请求获取的图片
- Mac环境下设置打印机驱动程序
- 中文老师经常说的IB课程,到底是什么?
- android课程设计体重测量仪,智能体重检测仪设计与实现