Skip to content

Commit 535a2ac

Browse files
authored
Merge pull request #578 from NordicSemiconductor/broadcasts
Registering broadcast receivers as exported
2 parents 883c154 + 6347ebc commit 535a2ac

File tree

4 files changed

+15
-7
lines changed

4 files changed

+15
-7
lines changed

ble/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ android {
3333

3434
dependencies {
3535
api 'androidx.annotation:annotation:1.8.2'
36+
implementation 'androidx.core:core:1.13.1'
3637

3738
testImplementation 'junit:junit:4.13.2'
3839
}

ble/src/main/java/no/nordicsemi/android/ble/BleManager.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@
4747
import androidx.annotation.RequiresPermission;
4848
import androidx.annotation.RestrictTo;
4949
import androidx.annotation.StringRes;
50+
import androidx.core.content.ContextCompat;
51+
5052
import no.nordicsemi.android.ble.annotation.ConnectionPriority;
5153
import no.nordicsemi.android.ble.annotation.ConnectionState;
5254
import no.nordicsemi.android.ble.annotation.LogPriority;
@@ -178,9 +180,10 @@ public BleManager(@NonNull final Context context, @NonNull final Handler handler
178180
this.requestHandler = getGattCallback();
179181
this.requestHandler.init(this, handler);
180182

181-
context.registerReceiver(mPairingRequestBroadcastReceiver,
183+
ContextCompat.registerReceiver(context, mPairingRequestBroadcastReceiver,
182184
// BluetoothDevice.ACTION_PAIRING_REQUEST
183-
new IntentFilter("android.bluetooth.device.action.PAIRING_REQUEST"));
185+
new IntentFilter("android.bluetooth.device.action.PAIRING_REQUEST"),
186+
ContextCompat.RECEIVER_EXPORTED);
184187
}
185188

186189
/**

ble/src/main/java/no/nordicsemi/android/ble/BleManagerHandler.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import androidx.annotation.Nullable;
3030
import androidx.annotation.RequiresApi;
3131
import androidx.annotation.RequiresPermission;
32+
import androidx.core.content.ContextCompat;
3233

3334
import java.lang.reflect.Method;
3435
import java.security.InvalidParameterException;
@@ -677,10 +678,10 @@ private boolean internalConnect(@NonNull final BluetoothDevice device,
677678
} else {
678679
if (connectRequest != null) {
679680
// Register bonding broadcast receiver
680-
context.registerReceiver(bluetoothStateBroadcastReceiver,
681-
new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));
682-
context.registerReceiver(mBondingBroadcastReceiver,
683-
new IntentFilter(BluetoothDevice.ACTION_BOND_STATE_CHANGED));
681+
ContextCompat.registerReceiver(context, bluetoothStateBroadcastReceiver,
682+
new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED), ContextCompat.RECEIVER_EXPORTED);
683+
ContextCompat.registerReceiver(context, mBondingBroadcastReceiver,
684+
new IntentFilter(BluetoothDevice.ACTION_BOND_STATE_CHANGED), ContextCompat.RECEIVER_EXPORTED);
684685
}
685686
}
686687
}

examples/ble-gatt-server/src/main/java/no/nordicsemi/android/ble/ble_gatt_server/GattService.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import android.os.Binder
3434
import android.os.IBinder
3535
import android.util.Log
3636
import androidx.core.app.NotificationCompat
37+
import androidx.core.content.ContextCompat
3738
import no.nordicsemi.android.ble.BleManager
3839
import no.nordicsemi.android.ble.BleServerManager
3940
import no.nordicsemi.android.ble.observer.ServerObserver
@@ -111,7 +112,9 @@ class GattService : Service() {
111112
}
112113
}
113114
}
114-
registerReceiver(bluetoothObserver, IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED))
115+
ContextCompat.registerReceiver(this,
116+
bluetoothObserver, IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED),
117+
ContextCompat.RECEIVER_EXPORTED)
115118

116119
// Startup BLE if we have it
117120

0 commit comments

Comments
 (0)