欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C程序?qū)崿F(xiàn)監(jiān)聽長按物理power鍵3秒關(guān)機功能

要實現(xiàn)的功能:在android Framework層被裁剪掉的情況下,實現(xiàn)監(jiān)聽長按的物理power按鍵,實現(xiàn)長按3秒后關(guān)機功能;

從事成都二樞服務(wù)器租用托管,服務(wù)器租用,云主機,網(wǎng)站空間,域名申請,CDN,網(wǎng)絡(luò)代維等服務(wù)。

思路:使用event epoll,非阻塞式IO操作,同時避免無差別輪詢,做到避免忙輪和無差別輪詢提高效率;

要用到的epoll函數(shù):

epoll_create(EPOLL_SIZE_HINT);
epoll_wait(mEpollFd, mPendingEventItems, 8, -1);
epoll_ctl(mEpollFd, EPOLL_CTL_ADD, fd, &eventItem)
epoll_ctl(mEpollFd, EPOLL_CTL_DEL, fd, &eventItem);

下面是實現(xiàn)的過程:

int main(int argc, char *argv[])
{
    ALOGI("robot test robot power");
	struct itimerval old_value;
	int tap_power_time = 0;
	int tap_power_type = 0;
	int tap_power_code = 0;
	int tap_power_value = 0;
    struct itimerval tick;
	int mEpollFd;
	const int EPOLL_SIZE_HINT = 8;
	const char* DEV_INPUT = "/dev/input/event1";
	struct epoll_event mPendingEventItems[8];
	
	unsigned char buf[1024] = {0};
	struct inotify_event *event = NULL;
	struct RawEvent* readBuffer = (struct RawEvent*) malloc (sizeof(struct RawEvent));
	mEpollFd = epoll_create(EPOLL_SIZE_HINT);
	int fd = open(DEV_INPUT, O_RDWR | O_CLOEXEC);

	/*
	* struct epoll_event {  
	*	uint32_t events;     // epoll events (bit mask)
	*	epoll_data_t data;   // User data  
	* };  
	*/
	struct epoll_event eventItem;
    memset(&eventItem, 0, sizeof(eventItem));
	/**
	* EPOLLIN: has data to read
	* EPOLLOUT: has data to write
	*/
    eventItem.events = EPOLLIN;

	/**
	* EPOLL_CTL_ADD: add fd to watching list
	* EPOLL_CTL_DEL: remove fd from watching list
	*/
	if (epoll_ctl(mEpollFd, EPOLL_CTL_ADD, fd, &eventItem) == -1)
	{
		exit(0);
	}

	for (;;)
	{
		/**
		* parameter -1 : wait until event occur ;
		*            0 : return immediately when deal with a non-block event
		*/
		epoll_wait(mEpollFd, mPendingEventItems, 8, -1);
		int32_t readSize = read(fd, readBuffer, sizeof(struct input_event));
		struct input_event *event =(struct input_event*) readBuffer;

		tap_power_time = (int) event->time.tv_sec;
		tap_power_type = event->type;
		tap_power_code = event->code;
		tap_power_value = event->value;


		if(is_power_down_key(tap_power_type, tap_power_code, tap_power_value))
		{
			ALOGI("robot power down key");
			signal(SIGALRM,handle_exit);
			memset(&tick,0,sizeof(tick));
			tick.it_value.tv_sec= 3;
			tick.it_value.tv_usec= 0;
			setitimer(ITIMER_REAL,&tick,NULL);
		}
		else if(is_power_up_key(tap_power_type, tap_power_code, tap_power_value)) 
		{
			tick.it_value.tv_sec= 0;
			tick.it_value.tv_usec= 0;
			setitimer(ITIMER_REAL,&tick,NULL);
		}
		
	}

	epoll_ctl(mEpollFd, EPOLL_CTL_DEL, fd, &eventItem);
    return 0;
}
struct RawEvent {
    int32_t when;
    int32_t deviceId;
    int32_t type;
    int32_t code;
    int32_t value;
};

void handle_exit(int sig)
{
	ALOGI("robot 3 second time out ,now shutdown!");
	system("reboot -p");
}
int is_power_down_key(int type, int code, int value)
{
	int is_down = 0;
	is_down = (type == 1) && (code == 116) && (value == 1);
	return is_down;
}

int is_power_up_key(int type, int code, int value)
{
	int is_up = 0;
	is_up = (type == 1) && (code == 116) && (value == 0);
	return is_up;
}

網(wǎng)頁標(biāo)題:C程序?qū)崿F(xiàn)監(jiān)聽長按物理power鍵3秒關(guān)機功能
URL標(biāo)題:http://aaarwkj.com/article2/pcococ.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、自適應(yīng)網(wǎng)站做網(wǎng)站、域名注冊網(wǎng)站制作、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
欧美日本一区二区四区| 亚洲综合一区二区精品久久| 日韩视频播放一区二区| 无遮挡国产精品一级二级三级视频 | 亚洲综合中文字幕精品| 日韩欧美一区二区三区在线| 欧美高清一区二区在线观看| 白天躁晚上躁天天躁在线| 婷婷91麻豆精品国产人妻| 日本一区二区裸体视频| 国产三级三级三级免费看| 日本一区二区日本一区| 亚洲va在线va天堂va在线| 国产午夜福利诱惑在线观看| 国产成人免费视频一区| 午夜福利大片在线观看视频| 日本国产精品久久一线| 欧美亚洲国语精品一区二区| 国产午夜福利诱惑在线观看| 亚洲特级黄色做啪啪啪| 日日做日夜夜操天天搞| 日韩中文在线中文网三级| 国产成人国产精品国产三级| 最新中文字幕成人在线观看| 99热精品免费在线观看| 丰满的少妇一区二区三区免费观看| 欧美精品亚洲精品日韩经典| 男人天堂在线视频网站| 国产麻豆精品免费喷白浆视频网站| 中文字幕精品免费日韩在线| 中文字幕人妻在线播放| 青青成线在人线免费啪| 国内精品免费视频不卡| 国产欧美日韩经典一区| 人人爽久久爱夜夜躁一区| 很色很污无遮挡的网色污| 日本岛国大片在线视频| 亚洲人妻乱人伦中文字幕在线| 成人爱爱免费观看视频| 色婷婷综合激情一区二区| 国产精品久久久av大片|