WEB开发网
开发学院手机开发Android 开发 Android HAL 阅读

Android HAL

 2010-04-21 06:36:00 来源:WEB开发网   
核心提示:_set_off ();return "led off" ;}/** declare all the native interface.*/private static native boolean _init();private static native int _set_on();privat

_set_off ();

return "led off" ;

}

/*

* declare all the native interface.

*/

private static native boolean _init();

private static native int _set_on();

private static native int _set_off();

private static native int _get_count();

}

其中 LedService 类通过 native 函数使用 led stub 提供的功能。

2. 接下来我们实现通过 jni 接口实现 native 方法。

这里无需使用 javah 生成相应的头文件。

com_hello_LedService.cpp 文件:

#define LOG_TAG "LedService"

#include "utils/Log.h"

#include

#include

#include

#include

#include

#include "../../led_stub/include/led.h"

static led_control_device_t *sLedDevice = 0;

static led_module_t* sLedModule=0;

static int get_count(void)

{

return 0;

}

static jint led_setOn(JNIEnv* env, jobject thiz) {

//if (sLedDevice) {

LOGI("led_set_on");

sLedDevice->set_on(sLedDevice);

//}

return 0;

}

static jint led_setOff(JNIEnv* env, jobject thiz) {

//if (sLedDevice) {

LOGI("led_set_off");

sLedDevice->set_off(sLedDevice);

//}

return 0;

}

/** helper APIs */

static inline int led_control_open(const struct hw_module_t* module,

struct led_control_device_t** device) {

LOGI("led_control_ope");

return module->methods->open(module,

LED_HARDWARE_MODULE_ID, (struct hw_device_t**)device);

}

static jint led_init(JNIEnv *env, jclass clazz)

{

led_module_t const * module;

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:Android HAL

编辑录入:coldstar [复制链接] [打 印]
赞助商链接