我的蓝牙权限有问题。我在清单中声明了以下几行:
<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配置中显示?
答案 0 :(得分:1)
Android中有两种类型的权限:
危险权限:如果targetSdkVersion为23或更高,则需要在运行时询问这些权限。
正常权限:如果您在Manifest中定义这些权限就足够了。
有关详细信息,请查看以下链接:
https://developer.android.com/guide/topics/permissions/requesting.html#normal-dangerous