Android 未显示蓝牙权限,仍描述为已打开
Android Bluetooth permission not displayed, still descirbed as turned on
我的蓝牙权限有问题。我在清单中声明了以下几行:
<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 和位置权限吗?为什么蓝牙没有显示在应用程序权限配置中?
Android中有两种权限:
危险权限:如果 targetSdkVersion 为 23 或更高,这些权限需要在 运行 时间询问。
普通权限:如果您在清单中定义这些权限就足够了。
有关详细信息,请查看下面给出的 link:
https://developer.android.com/guide/topics/permissions/requesting.html#normal-dangerous
我的蓝牙权限有问题。我在清单中声明了以下几行:
<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 和位置权限吗?为什么蓝牙没有显示在应用程序权限配置中?
Android中有两种权限:
危险权限:如果 targetSdkVersion 为 23 或更高,这些权限需要在 运行 时间询问。
普通权限:如果您在清单中定义这些权限就足够了。
有关详细信息,请查看下面给出的 link:
https://developer.android.com/guide/topics/permissions/requesting.html#normal-dangerous