首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android Shell 開啟開發者選項:用 Intent 啟動設定頁面

     編輯:程式設計綜合問答

場景

部分 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+ 可用。

Shell 指令(需 root 或 adb shell)

# 開啟開發者選項入口(Android 4.2+ 預設隱藏,點擊版本號 7 次顯示,此指令直接開啟)
am start -n com.android.settings/.DevelopmentSettings

# 開啟「顯示觸摸操作」
settings put system show_touches 1

# 開啟「指標位置」
settings put system pointer_location 1

關鍵差異

方式適用場景權限需求
Intent startActivityApp 內按鈕跳轉、引導用戶無特殊權限
am start (adb shell)自動化測試、開發調試USB 偵錯 / adb 授權
settings put (adb shell)直接修改系統設定值adb shell 權限

注意事項

  • show_touches、pointer_location 修改後**即時生效**,無需重啟。
  • 部分廠商 ROM 可能將設定鍵名改為 debug.show_touches 等,可用 settings list system | grep touch 查找。
  • 若 App 需以程式碼修改系統設定,需宣告 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 直接修改」,兩者互補覆蓋開發與測試全流程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved