首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android 12:检测用户是否禁用/启用照相机和麦克风

Android 12:检测用户是否禁用/启用照相机和麦克风
EN

Stack Overflow用户
提问于 2022-04-25 22:38:03
回答 1查看 1.3K关注 0票数 3

随着新的Android 12操作系统,用户现在有能力完全禁用麦克风和相机使用的所有应用程序。这实际上是一件好事,让用户轻松地控制隐私。

如果一个应用程序启动并拥有使用麦克风和摄像头的权限,并且用户已经禁用了对这些硬件的所有访问,那么Android 12会自动弹出一个警报,要求用户重新启用麦克风或照相机,或者继续禁用该应用程序的硬件。

此外,在创建时,应用程序可以简单地检查开始时是否启用了所需的硬件,并且还可以进一步提示用户或处理应用程序认为合适的条件。

但是,如果用户在应用程序运行时禁用麦克风或照相机怎么办?我似乎找不到像onMicrophoneEnabled()这样的接口,甚至连这样一个事件的广播都找不到。

每次调用onResume()时都可以检查,但我希望有一个更优雅的解决方案。

如果有人知道一些东西,我的应用程序可以用来捕捉当用户作出任何改变时,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-29 13:01:33

在仔细阅读了google (https://developer.android.com/training/permissions/explaining-access#toggles)关于用户启用/禁用相机和麦克风的实现之后,我发现了一些非常有趣的东西:

明确禁止应用程序知道用户是否做过任何这些操作。因此,当然,没有办法得到这些变化的通知:这是出于设计。

如果用户以这种方式关闭相机,该应用程序仍将得到一个摄像头饲料,但它将是黑色的。同样,麦克风仍能工作,但我们只能保持沉默。这是一项功能--一种确保隐私的方法。

操作系统将提醒用户,他们已经禁用麦克风或相机,并提供了一个机会,重新启用硬件,这是很好的。但是这个应用程序完全处于黑暗之中。

另一种思考方法是:就像把一盘磁带放在相机上或者拇指放在麦克风上一样。只是这次是由操作系统来完成的。这样,间谍程序或其他邪恶的软件仍然会认为它是有效的,而不是试图绕过或放弃。

这也解释了为什么在onResume()onWindowFocusChanged()期间的测试也不起作用。我得到的结果与设置不一致(它们与当前权限对齐)。

因此,要回答我的问题:是不可能得到通知的,。这才是重点。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72006416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档