From ad3c898430a37452a1886fab64cd5ea2b05b2751 Mon Sep 17 00:00:00 2001
From: Md Fahim Faez Abir-00127 <>
Date: Fri, 21 Jun 2024 20:03:38 +0600
Subject: [PATCH] [Android] One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED
 should be specified in Android 14

- Fix the issue for RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTE for sdk version >= 34
---
 android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java b/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java
index 55fb15c4c..715dd2112 100644
--- a/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java
+++ b/android/src/main/java/com/RNFetchBlob/RNFetchBlobReq.java
@@ -196,7 +196,12 @@ public void run() {
                 DownloadManager dm = (DownloadManager) appCtx.getSystemService(Context.DOWNLOAD_SERVICE);
                 downloadManagerId = dm.enqueue(req);
                 androidDownloadManagerTaskTable.put(taskId, Long.valueOf(downloadManagerId));
-                appCtx.registerReceiver(this, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
+                if (Build.VERSION.SDK_INT >= 34 && appCtx.getApplicationInfo().targetSdkVersion >= 34) {
+                    appCtx.registerReceiver(this, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE),
+                            Context.RECEIVER_EXPORTED);
+                } else {
+                    appCtx.registerReceiver(this, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));
+                }
                 return;
             }