如何停止占用麦克风
2022-09-01 10:02:39
这很棘手,因为我不是任何API的ware。这肯定需要系统级API像“Ok Google”类型一样工作。
一个可行的选项是(从 https://stackoverflow.com/a/43623308/603270 开始)定期运行作业,使用 检查前台应用。android.permission.PACKAGE_USAGE_STATS
这可能就足够了。但是您也可以添加有关电话(如何在Android中检测电话广播接收器)使用或媒体播放(通过甚至直接)的内容。android.intent.action.PHONE_STATE
Receiver
MediaPlayer
如果你真的想让这个东西工作,另一种方法是获取系统上所有已安装应用程序的数组列表,以及哪些应用程序需要使用麦克风的权限,然后使用辅助功能服务来监视用户屏幕,如果用户刚刚打开的应用程序需要麦克风(你会从你刚刚抓取的数组中知道)。从那里,如果他们的应用程序需要麦克风,请禁用应用程序中的麦克风。然后,后台服务可以每隔两分钟签入一次,以查看需要麦克风的应用是否仍处于打开状态。这真的很低效。但如果你不在乎,那么这可能是一个不错的选择。