未显示Android蓝牙权限,仍描述为已打开

未显示Android蓝牙权限,仍描述为已打开,android,bluetooth,permissions,manifest,Android,Bluetooth,Permissions,Manifest,我的蓝牙权限有问题。我在清单中声明了以下几行: <permission android:name="android.permission.BLUETOOTH" android:label="BLUETOOTH" /> <permission android:name="android.permission.BLUETOOTH_ADMIN" /> 我仍然得到一个信息,即许可已被授予。搞什么鬼?我是否应该专门检查外部存储和位置权限?为什么应用程序许可配置中不显示蓝牙 And

我的蓝牙权限有问题。我在清单中声明了以下几行:

<permission android:name="android.permission.BLUETOOTH" android:label="BLUETOOTH" />
<permission android:name="android.permission.BLUETOOTH_ADMIN" />

我仍然得到一个信息,即许可已被授予。搞什么鬼?我是否应该专门检查外部存储和位置权限?为什么应用程序许可配置中不显示蓝牙

Android中有两种类型的权限:

危险权限:如果targetSdkVersion为23或更高,则在运行时询问时需要这些权限

正常权限:如果您在清单中定义这些权限就足够了

有关更多详细信息,请查看以下链接:


是的,已经找到了,仍然不知道如果我没有要求,为什么会显示内存和本地化的权限。对不起,我不明白你说的。你能再详细一点吗?当然,如果我描述得不清楚,很抱歉。在“设备设置”中,您可以选择“应用程序”选项卡,并在其中找到您的应用程序。然后,您可以选择权限并启用所选权限。我很好奇,如果我没有在清单中明确添加内存和位置,为什么Android会要求访问内存和位置。你在你的应用程序中使用Google Play服务吗?很好!不过,问题背后的主要原因还是出现了。在禁用与基于蓝牙的远程设备的屏幕连接后,被挂起。将所有权限添加到清单中,关闭该应用程序的节电功能,每秒收到反应性ping流。不过,连接似乎会随机停止(应用程序是否冻结?):(
  int permissionCheck = ContextCompat.checkSelfPermission(this,
                Manifest.permission.BLUETOOTH_ADMIN);

        if(permissionCheck ==  PackageManager.PERMISSION_GRANTED){
            Toast.makeText(this, "granted", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(this, "not granted :(", Toast.LENGTH_SHORT).show();
        }