반응형
1. 비행기 모드제어
adb shell svc data disable
adb shell settings put global airplane_mode_on 1
adb shell svc data enable
adb shell settings put global airplane_mode_on 0
2번째 줄과 4번째 줄이 비행기 모드 제어를 하는 것이다.
svc data는 데이터를 On/Off 해준다.
비행기 위 코드의 경우 비행기 모드를 켜지만 UI상으로 데이터는 켜져있다. 그렇기 때문에 함께 추가하였다.
여기서 다음 두번째 방법을 시도한 이유는 위 코드는 문제가 없으나 안드로이드 8.0, 9.0 환경에서는 비행기 모드에 On/Off 신호가 안들어 온것처럼 보였다. (실제로는 작동- 비행기 모드 Off 상태에서 데이터를 누를 시 비행기 모드 사용중이라 표시)
2. Input Keycode
수동 액션과 같은 동작을 설정한다.
adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
adb shell input keyevent 22 # Enable/Disable Field
adb shell input keyevent 23 # Click Event
비행기 모드 설정 페이지로 들어가, 키코드22와 23을 실행하여 직접 비행기 모드를 제어한다.
OS버전마다 키코드가 다르며, UI차이로 인해 DOWN or RIGHT 차이가 발생한다.
On/Off 필드로 가기 위해 동일한 키코드를 2번 입력해야한다. (22, 22, 23)
수동 액션의 경우 버전차이로 인한 문제가 발생할 수 있다.
추가적으로 adb 관련 키코드이다.
https://developer.android.com/reference/android/view/KeyEvent
0 --> "KEYCODE_UNKNOWN"
1 --> "KEYCODE_MENU"
2 --> "KEYCODE_SOFT_RIGHT"
3 --> "KEYCODE_HOME"
4 --> "KEYCODE_BACK"
5 --> "KEYCODE_CALL"
6 --> "KEYCODE_ENDCALL"
7 --> "KEYCODE_0"
8 --> "KEYCODE_1"
9 --> "KEYCODE_2"
10 --> "KEYCODE_3"
11 --> "KEYCODE_4"
12 --> "KEYCODE_5"
13 --> "KEYCODE_6"
14 --> "KEYCODE_7"
15 --> "KEYCODE_8"
16 --> "KEYCODE_9"
17 --> "KEYCODE_STAR"
18 --> "KEYCODE_POUND"
19 --> "KEYCODE_DPAD_UP"
20 --> "KEYCODE_DPAD_DOWN"
21 --> "KEYCODE_DPAD_LEFT"
22 --> "KEYCODE_DPAD_RIGHT"
23 --> "KEYCODE_DPAD_CENTER"
24 --> "KEYCODE_VOLUME_UP"
25 --> "KEYCODE_VOLUME_DOWN"
26 --> "KEYCODE_POWER"
27 --> "KEYCODE_CAMERA"
28 --> "KEYCODE_CLEAR"
29 --> "KEYCODE_A"
30 --> "KEYCODE_B"
31 --> "KEYCODE_C"
32 --> "KEYCODE_D"
33 --> "KEYCODE_E"
34 --> "KEYCODE_F"
35 --> "KEYCODE_G"
36 --> "KEYCODE_H"
37 --> "KEYCODE_I"
반응형