Ⅰ android怎麼模擬點擊而不受控制
本文講的是通過使用代碼,可以控制手機的屏幕和物理按鍵,也就是說不只是在某一個APP里去操作,而是整個手機系統。
更多問題解決辦法請參考android學習手冊,例子、源碼、文檔全部搞定,採用androidstudo的目錄結構,360手機助手中下載。下面是截圖。
getevent/sendevent
getevent&sendevent 是Android系統下的一個工具,可以模擬多種按鍵和觸屏操作,產生的是raw event,raw event經過event hub處理產生最終的gesture事件。getevent用於獲取當前系統input設備的一些參數和實時事件的數據;sendevent用於發送input事件,這倆命令的作用就是相當於解放了手,可以通過命令直接調用Linux底層來控制手機,工具的源碼位於Android SDK的system/core/toolbox下(sendevent.c getevent.c)。
getevent
用法說明:
[plain] view plain print?
#getevent-h
Usage:getevent[-t][-n][-sswitchmask][-S][-v[mask]][-p][-q][-ccount][-r][device]
-t:showtimestamps
-n:don'tprintnewlines
-s:printswitchstatesforgivenbits
-S:printallswitchstates
-v:verbositymask(errs=1,dev=2,name=4,info=8,vers=16,pos.events=32)
-p:showpossibleevents(errs,dev,name,pos.events)
-q:quiet(clearverbositymask)
-c:
-r:printrateeventsarereceived
# getevent -h
Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-p] [-q] [-c count] [-r] [device]
-t: show time stamps
-n: don't print newlines
-s: print switch states for given bits
-S: print all switch states
-v: verbosity mask (errs=1, dev=2, name=4, info=8, vers=16, pos. events=32)
-p: show possible events (errs, dev, name, pos. events)
-q: quiet (clear verbosity mask)
-c: print given number of events then exit
-r: print rate events are received
其中[-t]參數顯示事件的時間戳,[-n]取消事件顯示時的換行符,[-s switchmask]得到指定位的開關狀態,[-S]得到所有開關的狀態,[-v [mask]]根據mask的值顯示相關信息,後面詳細介紹mask的使用方法,[-p]顯示每個設備支持的事件類型和編碼,[-q]只顯示事件數據,[-c count]只顯示count次事件的數據,[-r]顯示事件接收頻率。
[java] view plain print?
shell@android:/$getevent-p
shell@android:/ $ getevent -p
[java] view plain print?
getevent-p
adddevice1:/dev/input/event7
name:"gpio-keys"
events:
KEY(0001):0066
inputprops:
<none>
adddevice2:/dev/input/event2
name:"alps"
events:
ABS(0003):0000:value12,min-4096,max4096,fuzz0,flat0,resolution0
0001:value-4,min-4096,max4096,fuzz0,flat0,resolution0
0002:value-252,min-4096,max4096,fuzz0,flat0,resolution0
000a:value0,min-4096,max4096,fuzz0,flat0,resolution0
0010:value0,min-4096,max4096,fuzz0,flat0,resolution0
0011:value0,min-4096,max4096,fuzz0,flat0,resolution0
inputprops:
<none>
adddevice3:/dev/input/event6
name:"7k_handset"
events:
KEY(0001):006b00720073007400e2
inputprops:
<none>
adddevice4:/dev/input/event5
name:"proximity_sensor"
events:
ABS(0003):0019:value1,min0,max1,fuzz0,flat0,resolution0
inputprops:
<none>
adddevice5:/dev/input/event4
name:"accelerometer_sensor"
events:
inputprops:
<none>
adddevice6:/dev/input/event3
name:"magnetic_sensor"
events:
inputprops:
<none>
adddevice7:/dev/input/event1
name:"7x27a_kp"
events:
KEY(0001):00720073
inputprops:
<none>
adddevice8:/dev/input/event0
name:"sec_touchscreen"
events:
KEY(0001):0066008b009e00d9
ABS(0003):002f:value0,min0,max4,fuzz0,flat0,resolution0
0030:value0,min0,max255,fuzz0,flat0,resolution0
0032:value0,min0,max100,fuzz0,flat0,resolution0
0035:value0,min0,max480,fuzz0,flat0,resolution0
0036:value0,min0,max800,fuzz0,flat0,resolution0
0039:value0,min0,max4,fuzz0,flat0,resolution0
LED(0011):0008
inputprops:
INPUT_PROP_DIRECT
getevent -p
add device 1: /dev/input/event7
name: "gpio-keys"
events:
KEY (0001): 0066
input props:
<none>
add device 2: /dev/input/event2
name: "alps"
events:
ABS (0003): 0000 : value 12, min -4096, max 4096, fuzz 0, flat 0, resolution 0
0001 : value -4, min -4096, max 4096, fuzz 0, flat 0, resolution 0
0002 : value -252, min -4096, max 4096, fuzz 0, flat 0, resolution 0
000a : value 0, min -4096, max 4096, fuzz 0, flat 0, resolution 0
0010 : value 0, min -4096, max 4096, fuzz 0, flat 0, resolution 0
0011 : value 0, min -4096, max 4096, fuzz 0, flat 0, resolution 0
input props:
<none>
add device 3: /dev/input/event6
name: "7k_handset"
events:
KEY (0001): 006b 0072 0073 0074 00e2
input props:
<none>
add device 4: /dev/input/event5
name: "proximity_sensor"
events:
ABS (0003): 0019 : value 1, min 0, max 1, fuzz 0, flat 0, resolution 0
input props:
<none>
add device 5: /dev/input/event4
name: "accelerometer_sensor"
events:
input props:
<none>
add device 6: /dev/input/event3
name: "magnetic_sensor"
events:
input props:
<none>
add device 7: /dev/input/event1
name: "7x27a_kp"
events:
KEY (0001): 0072 0073
input props:
<none>
add device 8: /dev/input/event0
name: "sec_touchscreen"
events:
KEY (0001): 0066 008b 009e 00d9
ABS (0003): 002f : value 0, min 0, max 4, fuzz 0, flat 0, resolution 0
0030 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
0032 : value 0, min 0, max 100, fuzz 0, flat 0, resolution 0
0035 : value 0, min 0, max 480, fuzz 0, flat 0, resolution 0
0036 : value 0, min 0, max 800, fuzz 0, flat 0, resolution 0
0039 : value 0, min 0, max 4, fuzz 0, flat 0, resolution 0
LED (0011): 0008
input props:
INPUT_PROP_DIRECT
可以看到 [-p] 參數顯示出來當前系統存在的所有input設備,並且把每個設備支持的事件類型以及編碼都列舉了出來。
每一個device相當於手機所支持的input設備,每個device裡面的events下:KEY(0001) 、ABS(0003)、SYN(0000)等表示該設備所支持的事件類型:EV_SYN[0000] (同步事件),EV_KEY[0001] (按鍵事件),EV_ABS[0003] (絕對值事件)
舉例event0中的KEY類型:
[java] view plain print?
KEY(0001):0066008b009e00d9
KEY(0001):0066008b009e00d9
表示sec_touchscreen支持的按鍵編碼有:KEY_HOME[0066] (HOME鍵),KEY_MENU[008b] (MENU鍵)
KEY_BACK[009e] (BACK鍵),KEY_SEARCH[00d9] (SEARCH鍵)
舉例event0中的ABS類型:
Ⅱ 康佳kwy0035打開就黑屏但有聲音是怎麼回事求解
電腦開機黑屏解決方法:
1.檢查電腦部件是否安插入牢靠首先請檢查顯示器電纜是否牢固可靠地插入到主機介面中,然後再檢查顯卡與主板I/O插槽之間的接觸是否良好。如有必要,請將顯卡取下,重新安插一次,確保安插到位,接觸良好。
2.確認顯示器是否損壞如果顯示器和顯卡安裝牢靠,那麼請換一台確認正常的顯示器試一試。如果不再黑屏,那麼原因是顯示器可能損壞了。
3.確認風扇是否有問題如果顯示器未損壞,請進一步檢查CPU風扇是否運轉。如運轉,可用萬用表測量電壓輸出是否正常為±12V、±15V,若不正常可以換一個電源試一試。
4.檢測CPU、顯卡和內存條如仍出現黑屏,則可將除CPU、顯卡、內存條之外的所有組件取下,然後加電啟動電腦。如果內存有故障,應會有報警聲。如果不是內存原因,請換一個正常的CPU,開機重新檢測。如仍出現黑屏,則只能換一個主板了,問題也應該出現在主板上。