启用 Content Capture: Shell Script settings put secure content_capture_service com.ttstd.dialer/com.ttstd.dialer.service.MyContentCaptureService 启用 系统助手 (Assist): Shell Script settings put secure assistant com.ttstd.dialer/com.ttstd.dialer.service.MyVoiceInteractionService 手动触发 Assist 采集: 在你的 Activity 或 Service 中,可以通过 showAssist(new Bundle()) 主动触发 onHandleAssist 回调,从而瞬间抓取屏幕信息。 对于拥有系统签名的应用,可以通过 adb 或在代码中通过 settings 命令静默开启无障碍服务。 # 1. 使用 ADB 命令手动开启 在电脑终端输入以下两条命令: ## 1. 将服务加入已启用列表 adb shell settings put secure enabled_accessibility_services com.ttstd.dialer/com.ttstd.dialer.accessibility.DialerAccessibilityService ## 2. 开启无障碍服务总开关 adb shell settings put secure accessibility_enabled 1 # 2. 在代码中自动开启 (利用系统签名) 既然你的应用有系统签名,你可以直接通过你现有的 CmdUtil 在程序启动时自动激活自己,无需用户操作: Java public void autoEnableAccessibility(Context context) { String serviceName = context.getPackageName() + "/com.ttstd.dialer.accessibility.DialerAccessibilityService"; // 1. 设置启用服务(如果已有其他服务,建议先获取当前值再追加,这里演示直接覆盖) CmdUtil.execute("settings put secure enabled_accessibility_services " + serviceName); // 2. 开启总开关 CmdUtil.execute("settings put secure accessibility_enabled 1"); Logger.d("Accessibility", "无障碍服务已尝试静默开启"); }