본문 바로가기

카테고리 없음

[ANDROID] ADB Airplain Mode 비행기 모드 제어

반응형

 

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" 
반응형