mtk android vibration小结
来源:互联网 发布:淘宝违规售假 编辑:程序博客网 时间:2024/06/18 15:29
上层应用:
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小结
- MTK Android 编译小结
- mtk小结
- android(MTK)开发中一些问题小结
- MTK知识小结
- MTK开发小结
- mtk知识小结
- MTK timer 小结 1
- MTK timer 小结 2
- MTK timer 小结 3
- MTK timer 小结 4
- MTK task 小结 1
- MTK task 小结 2
- MTK task 小结 3
- MTK task 小结 4
- MTK task 小结 5
- MTK task 小结 补充
- MTK HISTORY 小结 1
- 从需求入手开发流程
- OK6410 hwclock: settimeofday() failed: Invalid argument
- PGI.Workstation.Complete.v12.9-Lz0
- 我的第一个c++上机报告(C++,如此神奇)
- 外键(Foreign Key)约束。
- mtk android vibration小结
- SSH2实现数据库和界面的分页
- 我的第一个c++上机报告
- 详细讲解在Spring中进行集成测试
- 我的C++之旅开启了
- 空类的大小(sizeof), placement new 操作符
- 专家调查显示:液晶电视坏眼超等离子电视
- 我的第一次
- Fedora5下构造内核树 .