部分 ROM 隱藏了「開發者選項」入口,需以程式碼或 Shell 指令開啟。
Intent intent = new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS);
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(intent);
Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS 對應「開發者選項」頁面,API Level 17+ 可用。
# 開啟開發者選項入口(Android 4.2+ 預設隱藏,點擊版本號 7 次顯示,此指令直接開啟)
am start -n com.android.settings/.DevelopmentSettings
# 開啟「顯示觸摸操作」
settings put system show_touches 1
# 開啟「指標位置」
settings put system pointer_location 1
| 方式 | 適用場景 | 權限需求 |
|---|---|---|
| Intent startActivity | App 內按鈕跳轉、引導用戶 | 無特殊權限 |
| am start (adb shell) | 自動化測試、開發調試 | USB 偵錯 / adb 授權 |
| settings put (adb shell) | 直接修改系統設定值 | adb shell 權限 |
show_touches、pointer_location 修改後**即時生效**,無需重啟。debug.show_touches 等,可用 settings list system | grep touch 查找。android.permission.WRITE_SETTINGS 並引導用戶至「修改系統設定」授權頁面(Settings.ACTION_MANAGE_WRITE_SETTINGS)。# 在 CI/CD 腳本中
adb shell settings put system show_touches 1
adb shell settings put system pointer_location 1
adb shell am start -n com.your.package/.MainActivity
# 執行 UI 自動化測試...
adb shell settings put system show_touches 0
adb shell settings put system pointer_location 0
根據使用場景選擇「Intent 引導用戶」或「Shell 直接修改」,兩者互補覆蓋開發與測試全流程。