Android蓝牙权限未显示,仍然显示为打开

时间:2017-07-09 17:36:35

标签: android bluetooth permissions manifest

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

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

奇怪的是,在应用设置而不是蓝牙中,我有权为位置和存储添加权限。但是好吧,让我们说android没有为蓝牙提供特定的权限,这些与BT相同。奇怪的是,即使我没有给予应用程序任何权限(不是内存,也不是本地化),使用以下代码:

  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();
        }

我仍然会收到授予许可的消息。有没有搞错?我应该专门检查EXTERNAL_STORAGE和位置权限吗?为什么蓝牙不会在app permision配置中显示?

1 个答案:

答案 0 :(得分:1)

Android中有两种类型的权限:

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

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

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

https://developer.android.com/guide/topics/permissions/requesting.html#normal-dangerous