安卓Root或者不Root,如何禁止一个APP使用振动的权限

安卓的振动电机种类太杂,导致有些不太懂的码农设置的振动太强太烦人,又没有关闭选项

有个APP会使用振动来反馈某个操作,完全没法关掉
状态栏的震动开关也没有用
减少系统设置里面的振动等级也没用
貌似这个APP是直接用自己的参数调用振动引擎

有 root 的话直接用 appops,没有的话也可以用 appops 只不过会需要 adb。

1 个赞

振动是一种普通级别[1]的清单权限(Manifest Permission),这使你不能在系统权限设置中直接禁用它。好在,它也被定义为一种应用操作(App-ops),而 Android 4.4 以上引入了 AppOpsManager 来管理、跟踪之。

长话短说,试试如下命令来更改其 App-ops 等级为忽略(ignore):

cmd appops set <package> VIBRATE ignore

这应该只需要 ADB 权限。如果你不想敲命令,可以用 PermissionManagerX 来管理之。

App Ops 可能交互更友好一些,不过注意它是一个收费闭源软件。


  1. 相应地,可在系统权限设置中看到的一般是危险级别。 ↩︎

1 个赞

谢谢,用这个方法搞定了,奇怪的地方是disable app的振动权限之后这个app还是能振
最后用adb deny了android的振动权限就不再振了,但是搜狗安卓输入法的振动还在,感觉挺乱的

前人写的解释在这里:

2 个赞