- SettingsViewModel改用SnRepository进行设备注册 - 移除RxLifecycle手动绑定基类,改用AndroidX Lifecycle - 新增系统、硬件、网络、安全、定位等SN信息上报接口 - 修复ContactInfo equals逻辑错误 - 应用列表变化后自动清理失效启动页
启用 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", "无障碍服务已尝试静默开启"); }