diff --git a/android/src/main/java/com/reactnativebledidcomm/BleDidcommModule.kt b/android/src/main/java/com/reactnativebledidcomm/BleDidcommModule.kt
index c3d7c02..e594e29 100644
--- a/android/src/main/java/com/reactnativebledidcomm/BleDidcommModule.kt
+++ b/android/src/main/java/com/reactnativebledidcomm/BleDidcommModule.kt
@@ -1,5 +1,8 @@
package com.reactnativebledidcomm
+import android.bluetooth.BluetoothAdapter
+import android.bluetooth.BluetoothManager
+import android.content.Context
import androidx.annotation.RequiresPermission
import com.facebook.react.bridge.Promise
import com.facebook.react.bridge.ReactApplicationContext
@@ -16,11 +19,24 @@ class BleDidcommModule(private val context: ReactApplicationContext) :
ReactContextBaseJavaModule(context) {
private var centralManager: CentralManager? = null
private var peripheralManager: PeripheralManager? = null
+ private val bluetoothAdapter = (context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager).adapter
override fun getName(): String {
return Constants.TAG
}
+ @ReactMethod
+ fun isBleEnabled(
+ @Suppress("UNUSED_PARAMETER") options: ReadableMap,
+ promise: Promise,
+ ) {
+ try {
+ promise.resolve(bluetoothAdapter.state == BluetoothAdapter.STATE_ON)
+ } catch (e: Exception) {
+ promise.reject("error", e)
+ }
+ }
+
@ReactMethod
fun startCentral(
@Suppress("UNUSED_PARAMETER") options: ReadableMap,
diff --git a/example/src/App.tsx b/example/src/App.tsx
index fff68f7..b1335d9 100644
--- a/example/src/App.tsx
+++ b/example/src/App.tsx
@@ -9,6 +9,7 @@ import {
} from 'react-native'
import { Central } from './Central'
import { Peripheral } from './Peripheral'
+import { isBleEnabled } from '@animo-id/react-native-ble-didcomm'
export const Spacer = () =>
@@ -37,6 +38,10 @@ export default function App() {
{isCentral ? 'central' : isPeripheral ? 'peripheral' : 'none'}
+