EMMI Service详解:功能与API应用
需积分: 10 3 浏览量
更新于2024-08-24
收藏 1.11MB PPT 举报
"EMMI Service 是一款针对Mstar平台的服务,用于管理设备的各种功能,如USB、电池、配件、GPS、传感器以及运动检测等。它提供了API接口供其他应用程序或服务调用,实现后台运行并维持较长的生命周期。EMMI Service的架构相比前一代(XMMI)更简化,降低了Applet开发者的工作复杂度,通过ServiceWrapper API自动管理Service实例的创建和释放,并主要通过Callback机制进行通信。"
EMMI Service架构概览
EMMI Service 是一种无用户界面的服务,它在手机后台运行,通过其API接口为多个不同的应用程序(AP)或服务提供功能。这种服务通常在手机启动时启动,其生命周期比普通应用(Applet)更长。在MMITask上,可以同时运行多个Service,而Applet则以堆栈结构运行,仅能有一个Applet处于活动状态。当一个Applet被关闭时,其分配的内存会被释放,但Service通常会继续存在,例如PhoneBookService即使在电话簿关闭后仍会保持运行,因为其他服务如Message Editor AP和CCAP(Call Control)仍需要它。
EMMI Service种类
EMMI Service 包含多种功能模块:
1. USB:负责USB设备的插拔检测和状态通知。
2. BATTERY:提供电池电量状态查询和通知功能。
3. ACCESSORY:监控耳机和其他外围设备的插拔状态。
4. GPS:控制GPS功能的开关,并监听地理定位数据的变化。
5. SENSORMGR (Sensor Manager):管理各种传感器,包括G-Sensor(重力感应器)、光源感应器、电子罗盘和温度感应器。
6. PEDOMETER (Step Counter):使用重力感应器作为计步器服务。
7. MOTION DETECTOR:检测手机的甩动和翻转状态变化,同样依赖于重力感应器。
EMMI Service API使用介绍
EMMI Service相比前一代架构(XMMI)进行了优化。以前,Applets需要显式创建和释放Service实例,并通过Callback和Events与Service交互。而在EMMI Service中,引入了ServiceWrapper API,自动处理Service实例的生命周期,减轻了Applet开发者的负担。Service实例现在在Wrapper API中自动创建并在适当时候释放。通信方式主要转变为Callback,Service被动响应请求并主动发送指示,减少了Applet开发者处理Event的复杂编程需求。
使用ServiceWrapper后的概念性架构更加简洁,Applet通过ServiceWrapper API与Service交互,减少了直接操作Service实例的必要,使得服务的管理和通信过程更为高效和简便。
2011-05-15 上传
2011-10-18 上传
2024-11-08 上传
2023-06-08 上传
2021-09-25 上传
2012-07-02 上传
2011-10-18 上传
2011-10-11 上传
深井冰323
- 粉丝: 24
- 资源: 2万+
最新资源
- 创建个性化的Discord聊天机器人教程
- RequireJS实现单页应用延迟加载模块示例教程
- 基于Java+Applet的聊天系统毕业设计项目
- 从HTML到JSX的转换实战教程
- 轻量级滚动到顶部按钮插件-无广告体验
- 探索皇帝多云的天空:MMP 100网站深度解析
- 掌握JavaScript构造函数与原型链的实战应用
- 用香草JS和测试优先方法开发的剪刀石头布游戏
- SensorTagTool: 实现TI SensorTags数据获取的OS X命令行工具
- Vue模块构建与安装教程
- JavaWeb图片浏览小程序毕业设计教程
- 解决 Browserify require与browserify-shim冲突的方法
- Ventuno外卖下载器扩展程序使用体验
- IIT孟买医院模拟申请webapp功能介绍
- 掌握Create React App: 开发Tic-Tac-Toe游戏
- 实现顺序编程与异步操作的wait.for在HarmonyOS2及JavaScript中