I am currently working on an Android application that connects to the device via Bluetooth using Eclipse (Java). I am currently working on Android 4.4 (Kit-Kat) and below, but after a new update, which is Android 5 (Lolipop). Security exception.
manifest:
<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" /> <uses-feature android:name="android.hardware.bluetooth_le" android:required="false" />
the code:
mBleScanner.startScan(filters, scanSettings, mLeScanCallback); private ScanCallback mLeScanCallback = new ScanCallback() { @Override public void onScanResult(int callbackType, ScanResult result) { BluetoothDevice device = result.getDevice(); if(device.getName() != null) { if(device.getName().toUpperCase().contains("MyDevice")) { mBleScanner.stopScan(mLeScanCallback); if (device.getBondState() == BluetoothDevice.BOND_BONDED) { Connect(device.getAddress().toString()); } else {
Stack trace:
04-27 12:36:24.559: W/BluetoothGatt(17764): Unhandled exception in callback 04-27 12:36:24.559: W/BluetoothGatt(17764): java.lang.SecurityException: Need BLUETOOTH_PRIVILEGED permission: Neither user 10215 nor current process has android.permission.BLUETOOTH_PRIVILEGED. 04-27 12:36:24.559: W/BluetoothGatt(17764): at android.os.Parcel.readException(Parcel.java:1540) 04-27 12:36:24.559: W/BluetoothGatt(17764): at android.os.Parcel.readException(Parcel.java:1493) 04-27 12:36:24.559: W/BluetoothGatt(17764): at android.bluetooth.IBluetoothGatt$Stub$Proxy.registerForNotification(IBluetoothGatt.java:1163) 04-27 12:36:24.559: W/BluetoothGatt(17764): at android.bluetooth.BluetoothGatt.setCharacteristicNotification(BluetoothGatt.java:1239) 04-27 12:36:24.559: W/BluetoothGatt(17764): at com.vibease.ap3.service.ServiceBLE.BondDevice(ServiceBLE.java:568) 04-27 12:36:24.559: W/BluetoothGatt(17764): at com.vibease.ap3.service.ServiceBLE.CheckDevice(ServiceBLE.java:518) 04-27 12:36:24.559: W/BluetoothGatt(17764): at com.vibease.ap3.service.ServiceBLE.access$7(ServiceBLE.java:493) 04-27 12:36:24.559: W/BluetoothGatt(17764): at com.vibease.ap3.service.ServiceBLE$2.onServicesDiscovered(ServiceBLE.java:373) 04-27 12:36:24.559: W/BluetoothGatt(17764): at android.bluetooth.BluetoothGatt$1.onSearchComplete(BluetoothGatt.java:309) 04-27 12:36:24.559: W/BluetoothGatt(17764): at android.bluetooth.IBluetoothGattCallback$Stub.onTransact(IBluetoothGattCallback.java:217) 04-27 12:36:24.559: W/BluetoothGatt(17764): at android.os.Binder.execTransact(Binder.java:446)
Any tips? Thanks.
java android android-bluetooth bluetooth-lowenergy
Invalid Name
source share