在使用android 4.4 api调用bluetoothDeive.createBond()
方法时,是否有人遇到同样的问题?
java.lang.SecurityException:需要BLUETOOTH PRIVILEGED权限
注意:BLUETOOTH_ADMIN
文件中已包含AndroidManifest
权限。
答案 0 :(得分:17)
如果您的应用是第三方应用(非系统应用),则无法使用此权限。要了解详情,请参阅Android API:BLUETOOTH_PRIVILEGED
答案 1 :(得分:5)
收到确切的错误消息。
我花了一个小时才意识到手机上的蓝牙没有启用。打开后,它按预期工作。
答案 2 :(得分:0)
我运行此错误,只有我可以说,您需要将您的应用程序安装为系统特权应用程序,转到系统文件夹并尝试将应用程序复制到app文件夹或priv_app文件夹。在我的Android平台上,当我在我的应用程序的priv_app文件夹中创建文件夹并将我的apk复制到它并重新启动Android时,一切正常。 我的情况是我在开头添加了显示所有这些权限,但它只在上面的这一步之后才有效。
答案 3 :(得分:-1)
试试这个:
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平台,我使用Android 20作为最低限度(但从未尝试过该功能)。
答案 4 :(得分:-2)
在你的清单中试试这个
<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权限