按键一般的处理流程都在java中。这里有一个需要,因为没有java层代码,需要在c层做一个进程,来检测power按键长按 。
利用定时器做的长按,在android的framework层是用延迟消息做的。
代码如下:
#include <errno.h>
#include <fcntl.h>
#include <linux/fs.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <dirent.h>
#include <cutils/log.h>
#include <linux/fs.h>
#include <stdint.h>
#include <sys/ioctl.h>
#include <sys/inotify.h>
#include <sys/limits.h>
#include <sys/poll.h>
#include <linux/input.h>
#include <sys/select.h>
#include <time.h>
#include <signal.h>
#include <sys/epoll.h>
#include <sys/time.h>
#include <pthread.h>
#include <cutils/properties.h>
#define LOG_TAG "leadcore_robo