自最新更新(我想是在2022年12月的某个时候)以来,我的三星Galaxy S21上的内置摄像头应用程序会询问"附近的设备";如果我不同意,他就拒绝参选。通过"附近设备"意思是"蓝牙"。我不知道它为什么叫许可"附近设备":其他提到蓝牙的都叫"Bluetooth"。你也可以使用Wi-Fi甚至NFC连接附近的设备
它实际上不需要蓝牙来拍照,甚至录制电影,但是你可能有蓝牙麦克风(我没有),你可能想使用它可以在录制电影时获得更好的音质。
当然Android的最佳实践建议在https://developer.android.com/guide/topics/permissions/overview是不要求运行时权限,除非你需要它们,但是三星没有这样做。
我不想让相机应用通过探测蓝牙耳机来宣布我的存在任何碰巧在我附近的人,他们可能会认为这样的行为是侵扰。所以我不想给摄像头应用它附近设备的权限,但它不会
那么我如何让相机应用程序运行而不访问蓝牙?
我找到了一些解决方法。如果您的设备支持,您可以从Galaxy Store下载Expert Raw。它可以拍摄静态照片,而不需要"附近的设备"。许可。然而,它似乎不能自拍,因为它似乎无法切换相机,它不能拍摄电影,也不能像完整的相机应用程序那样做许多额外的技巧。
另一个选择是在禁用蓝牙的情况下运行相机应用程序。然后它就可以拥有"附近的设备"了。允许,但不能使用。这样做的问题是,如果你在其他时间使用蓝牙,你必须记住禁用它并启用它。
所以我写了一个小应用程序禁用蓝牙,运行相机应用程序,并在相机应用程序退出时恢复之前的蓝牙启用或禁用状态。我把这个放在我的主屏幕上,而不是相机应用程序:它有相同的图标。你必须记得使用后退键正确退出相机应用程序:Home或recent按钮会让我的应用程序和相机应用程序留在任务的后栈,所以我的应用程序无法运行和恢复蓝牙状态。
如果有人想使用这个解决方案,可以在github上找到这个应用程序。