diff --git a/android/src/main/java/com/tangem/TangemSdkReactNative/TangemSdkReactNativeModule.kt b/android/src/main/java/com/tangem/TangemSdkReactNative/TangemSdkReactNativeModule.kt index cef5ff9..0503250 100644 --- a/android/src/main/java/com/tangem/TangemSdkReactNative/TangemSdkReactNativeModule.kt +++ b/android/src/main/java/com/tangem/TangemSdkReactNative/TangemSdkReactNativeModule.kt @@ -105,6 +105,25 @@ class TangemSdkReactNativeModule(private val reactContext: ReactApplicationConte } } + @ReactMethod + fun nfcStop() { + if (::nfcManager.isInitialized) { + nfcManager.onStop() + nfcManagerStarted = false + } + } + + @ReactMethod + fun nfcStart() { + if (!::nfcManager.isInitialized) return + val activity = wActivity.get() ?: return + + if (activity.isDestroyed() || activity.isFinishing()) { + initialize() + } + if (!nfcManagerStarted) nfcManager.onStart() + } + @ReactMethod fun createWallet(param: ReadableMap, promise: Promise) { try { diff --git a/src/index.ts b/src/index.ts index cf234e9..c7d9183 100644 --- a/src/index.ts +++ b/src/index.ts @@ -304,6 +304,8 @@ const tangemSdk: TangemSdk = { startSession: () => RNTangemSdk.startSession(), stopSession: () => RNTangemSdk.stopSession(), getNFCStatus: () => RNTangemSdk.getNFCStatus(), + nfcStop: () => RNTangemSdk.nfcStop(), + nfcStart: () => RNTangemSdk.nfcStart(), /** * Listen for available events (Android) diff --git a/src/types.ts b/src/types.ts index fea050f..e51ac44 100644 --- a/src/types.ts +++ b/src/types.ts @@ -519,6 +519,10 @@ export interface TangemSdk { getNFCStatus(): Promise; + nfcStop(): Promise; + + nfcStart(): Promise; + on(eventName: Events, handler: (state: EventCallback) => void): void; removeListener(