上层应用:

Vibrator mVibrator;

mVibrator.vibrate( );

a) 上层调用:

Vibrator.java 
    public void vibrate(long milliseconds)
    {   
            mService.vibrate(milliseconds, mToken);        
    }

ps:

其中mService = IVibratorService.Stub.asInterface(
                ServiceManager.getService("vibrator"));

b) AIDL处理 

(IVibratorService.aidl)

VibratorService.java

public class VibratorService extends IVibratorService.Stub
{

public void vibrate(long milliseconds, IBinder token) {

Vibration vib = new Vibration(token, milliseconds, uid); 
        startVibrationLocked(vib);
    }

private void startVibrationLocked(final Vibration vib) {        
            vibratorOn(vib.mTimeout);           
        }
    }

}

c)  JNI 转化(JAVA -->C/C++)

com_android_server_VibratorService.cpp

static JNINativeMethod method_table[] = {
    { "vibratorOn", "(J)V", (void*)vibratorOn },
    { "vibratorOff", "()V", (void*)vibratorOff }
};

static void vibratorOn(JNIEnv *env, jobject clazz, jlong timeout_ms)
{
    LOGI("com_android_server_VibratorService.cpp libin vibratorOn\n");
    vibrator_on(timeout_ms);
}

d) 底层处理

vibrator.c

int vibrator_on(int timeout_ms)

mtk android vibration小结相关推荐

  1. 【Android】MTK Android 源码开发环境搭建

    硬件环境: VMware 虚拟机环境:VMware 虚拟机版本 VMware-workstation-9.0.0-812388 内存:2.1G 处理器:双核双线程 硬盘:60G 系统环境:Ubuntu ...

  2. Android 系统(123)---MTK android 常用修改点

    MTK android 常用修改点 1. *#06#等关键码判断文件 SpecialCharSequenceMgr.java 2.音效 ControlPanelEffect.java 3.版本号修改 ...

  3. MTK 驱动(72)---mtk Android如何调试recovery模块

    mtk Android如何调试recovery模块 通用的调试程序的步骤: 找到调试模块在系统代码中的路径: 知道代码在哪里之后就是编译代码了,即如何编译调试模块: 编译出目标文件后就要将目标文件放到 ...

  4. camera(21)---MTK android AF调试总结

    MTK android AF调试总结 如何读懂马达曲线来调试AF功能 MTK Android平台,我们是有一些手段可以自行调试Camera AF的功能的. 首先,需要从供应商处得到AF马达的震动曲线. ...

  5. MTK 驱动(4)---MTK Android Driver知识大全

    MTK Android Driver知识大全 一.Display 1.lcm 相关概念 1.1) MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口).DPI(也叫RGB接口).DSI. 在 ...

  6. Android开发小结Part2:目录

    2019独角兽企业重金招聘Python工程师标准>>> Android开发小结Part1:绪论 Android开发小结Part2:目录 Android开发小结Part3:Intent ...

  7. Android.mk小结

    Android.mk小结 Android.mk结构 多目录Android.mk包含语句 设置头文件搜索路径 设置需要链接的动态库 导出模块头文件路径 导出模块依赖关系 预编译 实例 Android.m ...

  8. MTK Android部分配置修改

    MTK Android浏览器输入框字数限制 /mediatek/frameworks/base/res/res/values/config.xml:    <integer name=" ...

  9. MTK Android Driver :Camera

    MTK Android Driver :camera 1.相关代码位置: mediatek\config\XXXX(红色字为具体的项目名) 文件:ProjectConfig.mk CUSTOM_KER ...

最新文章

  1. 网站项目必备——12款白富美型 jQuery 图片轮播插件
  2. windows10 中 python3 离线 安装包,没有 网络 的 情况下 安装 whl包
  3. 独家 | 手把手教你做数据挖掘 !(附教程数据源)
  4. Hibernate 延迟加载(一)
  5. 安卓案例:基于HttpClient下载文本与图片
  6. UI设计实用素材|数据可视化UX套件
  7. ftk学习记(list篇)
  8. 我的“技术架构”之旅
  9. java--jdk安装教程
  10. 0-Day CI : 我是Linux内核质检员
  11. sqlserver2012安装
  12. 最新CleanMyMac X4.12.1中文版Mac系统优化清理工具
  13. 手机无线设计的八个原则
  14. ENSP:配置静态路由表,实现不同VLAN间的通信
  15. Prometheus+SpringBoot应用监控全过程详解
  16. 我们来了!多云架构时代,欢迎加入中国开源网络新势力
  17. 让理科生沉默,让文科生流泪的综合题详解
  18. Google全系列产品不再信任赛门铁克某款根证书-转载
  19. 3种简单的键盘记录简单介绍
  20. CSS实现背景网格线(background-image)

热门文章

  1. 批处理脚本之批量打开常用软件
  2. 骨传导耳机真的不伤耳吗、不入耳骨传导耳机推荐
  3. 3DMAX 10 角色动作
  4. G1还有新生代和老年代么?
  5. 学术期刊《广西物理》简介及投稿要求
  6. linux CPU 负载高问题分析方法
  7. 修嗒嗒不断完善建材供应链,家装行业迎来新局面
  8. 一文深度剖析扩散模型究竟学到了什么?
  9. word中两端对齐之后文字之间空格很大
  10. 心通达OA办公系统与传统办公模式相比好在哪里