12

bluetoothDeive.createBond()有没有人在使用 android 4.4 api调用方法时遇到与以下错误消息相同的问题?

java.lang.SecurityException:需要蓝牙特权权限

注意:BLUETOOTH_ADMIN权限已包含在AndroidManifest文件中。

4

5 回答 5

21

得到了确切的错误信息。

我花了一个小时才意识到手机上的蓝牙未启用。打开它后,它按预期工作。

于 2018-03-27T00:07:19.340 回答
18

如果您的应用是第三方应用(非系统应用),则不能使用此权限。要了解更多信息,请参阅 Android API:BLUETOOTH_PRIVILEGED

于 2015-07-14T09:04:02.957 回答
1

我运行这个错误,只有我可以说,你需要将你的应用程序安装为系统特权应用程序,去系统文件夹并尝试将应用程序复制到应用程序文件夹或 priv_app 文件夹。在我的 Android 平台上,当我在 priv_app 文件夹中为我的应用创建文件夹并将我的 apk 复制到其中并重新启动 Android 时,一切正常。我的情况是,我在一开始就在清单中添加了所有这些权限,但它只有在上述这一步之后才起作用。

于 2016-09-25T08:03:58.130 回答
-2

试试这个:

1)从您的权限中删除“android.permission.BLUETOOTH_PRIVILEGED”。
2)删除“android.permission.BLUETOOTH”。
3)添加“android.permission.BLUETOOTH_ADMIN”,仅此而已。

参考资料说这是唯一需要的许可。https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#createBond()

编辑:如果您已经包含“bluetooth_admin”,可能是平台问题。他们之前可能不支持该功能。也许您应该针对更高的 min-sdk-platform ,我使用 Android 20 作为最低要求(但从未尝试过该功能)。

于 2017-01-14T16:33:14.077 回答
-3

在你的清单中试试这个

    <user-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

注意用户在第一行没有使用权限。直到我切换它,由于某种原因,我一直得到

java.lang.SecurityException:需要 BLUETOOTH_ADMIN 权限

于 2016-06-21T00:19:05.120 回答