gpt4 book ai didi

拒绝时授予 Android 12 BLUETOOTH_CONNECT 权限

转载 作者:行者123 更新时间:2023-12-04 23:42:28 42 4
gpt4 key购买 nike

所以我知道 Android 12 有新的蓝牙权限。在 App Info Permissions 中,它现在看起来像是被称为“附近的设备”。
我有这个逻辑:

        if (ContextCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_CONNECT) == PackageManager.PERMISSION_GRANTED) {
viewModel.connectDevice(macAddressDropdown.selectedItem.toString())
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
ActivityCompat.requestPermissions(
this,
arrayOf(Manifest.permission.BLUETOOTH_CONNECT),
1
)
}
}
}
在首次启动时,这似乎工作正常,它会提示附近设备权限,因为它在 Google 文档中查看。
之后,我进入 App Info 中的 Permissions,并拒绝 Nearby Devices 权限。
当我调试这个逻辑时,它说 BLUETOOTH_CONNECT 仍然是允许的。
s = ContextCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_CONNECT) == PackageManager.PERMISSION_GRANTED
a = ContextCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_SCAN) == PackageManager.PERMISSION_GRANTED
b = ContextCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH) == PackageManager.PERMISSION_GRANTED
c = ContextCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_ADMIN) == PackageManager.PERMISSION_GRANTED
d = ContextCompat.checkSelfPermission(this, Manifest.permission_group.NEARBY_DEVICES) == PackageManager.PERMISSION_GRANTED
当我调试它时,BLUETOOTH_CONNECT 是唯一显示为 true 的,其余为 false。
关于为什么会发生这种情况以及如何解决它的任何想法?
潜在的错误?
谢谢

最佳答案

我遇到了同样的问题

minSdkVersion 21
targetSdkVersion 30
compileSdkVersion 31
将目标版本更改为 31 为我修复它
minSdkVersion 21
targetSdkVersion 31
compileSdkVersion 31

关于拒绝时授予 Android 12 BLUETOOTH_CONNECT 权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69885794/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com