如题所述,使用AccessibilityService注册的服务来实现部分手机通过ADB安装应用时需要输入用密码验证身份的过程,但是这个服务需要手动进入到辅助功能中开启,而且把App杀掉之后服务就关闭了,如何才能通过代码去直接开启这个服务呢?
2条回答 默认 最新
- 彩色葫芦娃 2019-05-16 10:49关注
一般是不能直接打开的,但是在特定的情景下有两种方法能代码打开:
1.手机厂商api。例如华为三星都有api文档提供打开辅助功能的方法和对应的jar包、签名文件。但是这种需要公司去华为申请开发证书,而且需要承担法律约束力。流程比较长。
2.WRITE_SETTINGS 和 WRITE_SECURE_SETTINGS 权限。直接修改系统设置
a.通过厂商api获取。部分手机厂商提供该权限及对应证书,但这又回到第一步,需要申请证书。
b.adb命令赋予两个权限。然后通过Settings.Secure.putIn(。。。)赋予。这种局限也很大,需要拿到设备才可以连接adb。只有一些要求保密的行业会用这种方法,办公手机是公司发的,这种发到职员手中后可以赋予一大堆的权限,方便管理找到adb命令了:adb shell pm grant com.test.my android.permission.WRITE_SECURE_SETTINGS
我在华为荣耀10(android9.0)示例一下,可以打开辅助功能
解决 1无用
悬赏问题
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥30 用arduino开发esp32控制ps2手柄一直报错
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名
- ¥65 汇编语言除法溢出问题
- ¥15 Visual Studio问题
- ¥20 求一个html代码,有偿