Android 指令打開BT、WIFI

某些時候我們不想通過手動打開某些功能,比如我們在測試某些自動化功能時,這個時候只有透過命令了,

例如BT,WIFI一些常用的功能

BT on:

$adb shell am start -a android.bluetooth.adapter.action.REQUEST_ENABLE
$adb shell input keyevent 61
$adb shell input keyevent 61
$adb shell input keyevent 66

BT off:

$adb shell am start -a android.settings.BLUETOOTH_SETTINGS
$adb shell input keyevent 19
$adb shell input keyevent 19
$adb shell input keyevent 66

WIFI on:

adb shellsvc wifi enable

WIFI off:

adb shell svc wifi disable


adb shell input keyevent  KEYCODE_APP_SWITCH //調起後臺程序

adb shell input keyevent num //對應的數字
或者adb shell input keyevent name //對應的名稱
例如adb shell input keyevent 26     與
       adb shell input keyevent KEYCODE_POWER 是一樣的
       adb shell input keyevent POWER 這種方式也是可以的,不過這種不規範,或者說對於一些機型不適用。
下面是對應表:
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"
38 -->  "KEYCODE_J"
39 -->  "KEYCODE_K"
40 -->  "KEYCODE_L"
41 -->  "KEYCODE_M"
42 -->  "KEYCODE_N"
43 -->  "KEYCODE_O"
44 -->  "KEYCODE_P"
45 -->  "KEYCODE_Q"
46 -->  "KEYCODE_R"
47 -->  "KEYCODE_S"
48 -->  "KEYCODE_T"
49 -->  "KEYCODE_U"
50 -->  "KEYCODE_V"
51 -->  "KEYCODE_W"
52 -->  "KEYCODE_X"
53 -->  "KEYCODE_Y"
54 -->  "KEYCODE_Z"
55 -->  "KEYCODE_COMMA"
56 -->  "KEYCODE_PERIOD"
57 -->  "KEYCODE_ALT_LEFT"
58 -->  "KEYCODE_ALT_RIGHT"
59 -->  "KEYCODE_SHIFT_LEFT"
60 -->  "KEYCODE_SHIFT_RIGHT"
61 -->  "KEYCODE_TAB"
62 -->  "KEYCODE_SPACE"
63 -->  "KEYCODE_SYM"
64 -->  "KEYCODE_EXPLORER"
65 -->  "KEYCODE_ENVELOPE"
66 -->  "KEYCODE_ENTER"
67 -->  "KEYCODE_DEL"
68 -->  "KEYCODE_GRAVE"
69 -->  "KEYCODE_MINUS"
70 -->  "KEYCODE_EQUALS"
71 -->  "KEYCODE_LEFT_BRACKET"
72 -->  "KEYCODE_RIGHT_BRACKET"
73 -->  "KEYCODE_BACKSLASH"
74 -->  "KEYCODE_SEMICOLON"
75 -->  "KEYCODE_APOSTROPHE"
76 -->  "KEYCODE_SLASH"
77 -->  "KEYCODE_AT"
78 -->  "KEYCODE_NUM"
79 -->  "KEYCODE_HEADSETHOOK"
80 -->  "KEYCODE_FOCUS"
81 -->  "KEYCODE_PLUS"
82 -->  "KEYCODE_MENU"
83 -->  "KEYCODE_NOTIFICATION"
84 -->  "KEYCODE_SEARCH"
85 -->  "TAG_LAST_KEYCODE" 



此外,在Android中,除了從界面上啓動程序之外,還可以從命令行啓動程序,使用的是命令行工具am.
usage: am [subcommand] [options]
    start an Activity: am start [-D]
        -D: enable debugging
    send a broadcast Intent: am broadcast
    start an Instrumentation: am instrument [flags]
        -r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT)
        -e : set argument to
        -p : write profiling data to
        -w: wait for instrumentation to finish before returning
    start profiling: am profile start
    stop profiling: am profile stop
    specifications include these flags:
        [-a ] [-d ] [-t ]
        [-c [-c ] ...]
        [-e|--es ...]
        [--ez ...]
        [-e|--ei ...]
        [-n ] [-f ] []
啓動的方法爲
      $ adb shell am start -n {包(package)名}/{包名}.{活動(activity)名稱}
程序的入口類可以從每個應用的AndroidManifest.xml的文件中得到,以計算器(calculator)爲例,它的
package="com.android.calculator2" …>…
由此計算器(calculator)的啓動方法爲:
 $ adb shell am start -n com.android.calculator2/com.android.calculator2.Calculator
對於HelloActivity這個示例工程,AndroidManifest.xml如下所示:
package="com.example.android.helloactivity" …>
由此它的啓動方法爲:
 $ adb shell am start -n com.example.android.helloactivity/com.example.android.helloactivity.HelloActivity
其他的一些應用啓動命令,如下所示:
calendar(日曆)的啓動方法爲:
 $ adb shell am start -n com.android.calendar/com.android.calendar.LaunchActivity
AlarmClock(鬧鐘)的啓動方法爲:
 $ adb shell am start -n com.android.alarmclock/com.android.alarmclock.AlarmClock
Music 和 Video(音樂和視頻)的啓動方法爲:
 $ adb shell am start -n com.android.music/com.android.music.MusicBrowserActivity
 $ adb shell am start -n com.android.music/com.android.music.VideoBrowserActivity
 $ adb shell am start -n com.android.music/com.android.music.MediaPlaybackActivity
Camera(照相機)的啓動方法爲:
 $ adb shell am start -n com.android.camera/com.android.camera.Camera
Browser(瀏覽器)的啓動方法爲:
 $ adb shell am start -n com.android.browser/com.android.browser.BrowserActivity
  一般情況希望,一個Android應用對應一個工程。值得注意的是,有一些工程具有多個活動(activity),而有一些應用使用一個工程。例如:在Android界面中,Music和Video是兩個應用,但是它們使用的都是packages/apps/Music這一個工程。而在這個工程的AndroidManifest.xml文件中,有包含了不同的活動(activity)。
 
啓動瀏覽器 :
 $ adb shell am start -a android.intent.action.VIEW -d http://www.google.cn/
 
撥打電話 :
 $ adb shell am start -a android.intent.action.CALL -d tel:10086

啓動 google map 直接定位到北京 :
 $ adb shell am start -a android.intent.action.VIEW geo:0,0?q=beijing  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章