kenjdavidson / react-native-bluetooth-classic

⚛ Bluetooth classic Android(Bluetooth)/IOS(ExternalAccessory) module for serial communication
https://kenjdavidson.github.io/react-native-bluetooth-classic
MIT License
247 stars 93 forks source link

RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts #336

Open trungphammycolor opened 1 month ago

trungphammycolor commented 1 month ago

Mobile Device Environment Provide a list of operating systems on which this issue is relevant.

Application Environment Provide information about your development environment:

Describe the bug The app shut down immediately To Reproduce Steps to reproduce the behavior: Build and run app Expected behavior A clear and concise description of what you expected to happen.

Screenshots image Android studio log:

FATAL EXCEPTION: main
 Process: com.pangaea.app, PID: 12295
java.lang.RuntimeException: Unable to get provider com.deploygate.sdk.DeployGateProvider: java.lang.SecurityException: com.pangaea.app: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts
                                                                                                        at android.app.ActivityThread.installProvider(ActivityThread.java:7770)
                                                                                                        at android.app.ActivityThread.installContentProviders(ActivityThread.java:7276)
                                                                                                        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6983)
                                                                                                        at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
                                                                                                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2236)
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                                                        at android.os.Looper.loopOnce(Looper.java:205)
                                                                                                        at android.os.Looper.loop(Looper.java:294)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:8177)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
                                                                                                    Caused by: java.lang.SecurityException: com.pangaea.app: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts
                                                                                                        at android.os.Parcel.createExceptionOrNull(Parcel.java:3057)
                                                                                                        at android.os.Parcel.createException(Parcel.java:3041)
                                                                                                        at android.os.Parcel.readException(Parcel.java:3024)
                                                                                                        at android.os.Parcel.readException(Parcel.java:2966)
                                                                                                        at android.app.IActivityManager$Stub$Proxy.registerReceiverWithFeature(IActivityManager.java:5684)
                                                                                                        at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1852)
                                                                                                        at android.app.ContextImpl.registerReceiver(ContextImpl.java:1792)
                                                                                                        at android.app.ContextImpl.registerReceiver(ContextImpl.java:1780)
                                                                                                        at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:755)
                                                                                                        at com.deploygate.sdk.DeployGate.prepareBroadcastReceiver(DeployGate.java:273)
                                                                                                        at com.deploygate.sdk.DeployGate.<init>(DeployGate.java:238)
                                                                                                        at com.deploygate.sdk.DeployGate.install(DeployGate.java:491)
                                                                                                        at com.deploygate.sdk.DeployGate.install(DeployGate.java:464)
                                                                                                        at com.deploygate.sdk.DeployGateProvider.onCreate(DeployGateProvider.java:15)
                                                                                                        at android.content.ContentProvider.attachInfo(ContentProvider.java:2619)
                                                                                                        at android.content.ContentProvider.attachInfo(ContentProvider.java:2589)
                                                                                                        at android.app.ActivityThread.installProvider(ActivityThread.java:7765)
                                                                                                        at android.app.ActivityThread.installContentProviders(ActivityThread.java:7276) 
                                                                                                        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6983) 
                                                                                                        at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) 
                                                                                                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2236) 
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:106) 
                                                                                                        at android.os.Looper.loopOnce(Looper.java:205) 
                                                                                                        at android.os.Looper.loop(Looper.java:294) 
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:8177) 
                                                                                                        at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) 
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971) 
                                                                                                    Caused by: android.os.RemoteException: Remote stack trace:
                                                                                                        at com.android.server.am.ActivityManagerService.registerReceiverWithFeature(ActivityManagerService.java:13927)
                                                                                                        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2570)
                                                                                                        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2720)
                                                                                                        at android.os.Binder.execTransactInternal(Binder.java:1339)
                                                                                                        at android.os.Binder.execTransact(Binder.java:1275)

Additional context

kenjdavidson commented 1 month ago

Did you happen to google that? There are a number of stack overflow articles about it.

You haven't provided

Looks like it may be library unrelated. Have you attempted to set that context in your app?

Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: trungphammycolor @.> Sent: Monday, August 5, 2024 3:16:55 AM To: kenjdavidson/react-native-bluetooth-classic @.> Cc: Subscribed @.***> Subject: [kenjdavidson/react-native-bluetooth-classic] RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts (Issue #336)

Mobile Device Environment Provide a list of operating systems on which this issue is relevant.

Application Environment Provide information about your development environment:

Describe the bug The app shut down immediately To Reproduce Steps to reproduce the behavior: Build and run app Expected behavior A clear and concise description of what you expected to happen.

Screenshots image.png (view on web)https://github.com/user-attachments/assets/b4a4a4c6-2ddf-4ddb-9270-f4c79ff4ef00 Android studio log:

FATAL EXCEPTION: main Process: com.pangaea.app, PID: 12295 java.lang.RuntimeException: Unable to get provider com.deploygate.sdk.DeployGateProvider: java.lang.SecurityException: com.pangaea.app: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts at android.app.ActivityThread.installProvider(ActivityThread.java:7770) at android.app.ActivityThread.installContentProviders(ActivityThread.java:7276) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6983) at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2236) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8177) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971) Caused by: java.lang.SecurityException: com.pangaea.app: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts at android.os.Parcel.createExceptionOrNull(Parcel.java:3057) at android.os.Parcel.createException(Parcel.java:3041) at android.os.Parcel.readException(Parcel.java:3024) at android.os.Parcel.readException(Parcel.java:2966) at android.app.IActivityManager$Stub$Proxy.registerReceiverWithFeature(IActivityManager.java:5684) at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1852) at android.app.ContextImpl.registerReceiver(ContextImpl.java:1792) at android.app.ContextImpl.registerReceiver(ContextImpl.java:1780) at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:755) at com.deploygate.sdk.DeployGate.prepareBroadcastReceiver(DeployGate.java:273) at com.deploygate.sdk.DeployGate.(DeployGate.java:238) at com.deploygate.sdk.DeployGate.install(DeployGate.java:491) at com.deploygate.sdk.DeployGate.install(DeployGate.java:464) at com.deploygate.sdk.DeployGateProvider.onCreate(DeployGateProvider.java:15) at android.content.ContentProvider.attachInfo(ContentProvider.java:2619) at android.content.ContentProvider.attachInfo(ContentProvider.java:2589) at android.app.ActivityThread.installProvider(ActivityThread.java:7765) at android.app.ActivityThread.installContentProviders(ActivityThread.java:7276) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6983) at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2236) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8177) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971) Caused by: android.os.RemoteException: Remote stack trace: at com.android.server.am.ActivityManagerService.registerReceiverWithFeature(ActivityManagerService.java:13927) at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2570) at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2720) at android.os.Binder.execTransactInternal(Binder.java:1339) at android.os.Binder.execTransact(Binder.java:1275)

Additional context

— Reply to this email directly, view it on GitHubhttps://github.com/kenjdavidson/react-native-bluetooth-classic/issues/336, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABPMJLYABYEP6I2MKEBY733ZP4RGPAVCNFSM6AAAAABL7WDSIWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ2DONZZG43DSMY. You are receiving this because you are subscribed to this thread.Message ID: @.***>

kenjdavidson commented 1 month ago

After a few more looks it does look like I can add it to the library. But I'll need you to confirm adding it resolves the issue, then open a pr for it, if you don't mind.

Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: Kenneth Davidson @.> Sent: Monday, August 5, 2024 6:25:07 AM To: kenjdavidson/react-native-bluetooth-classic @.>; kenjdavidson/react-native-bluetooth-classic @.> Cc: Subscribed @.> Subject: Re: [kenjdavidson/react-native-bluetooth-classic] RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts (Issue #336)

Did you happen to google that? There are a number of stack overflow articles about it.

You haven't provided

Looks like it may be library unrelated. Have you attempted to set that context in your app?

Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: trungphammycolor @.> Sent: Monday, August 5, 2024 3:16:55 AM To: kenjdavidson/react-native-bluetooth-classic @.> Cc: Subscribed @.***> Subject: [kenjdavidson/react-native-bluetooth-classic] RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts (Issue #336)

Mobile Device Environment Provide a list of operating systems on which this issue is relevant.

Application Environment Provide information about your development environment:

Describe the bug The app shut down immediately To Reproduce Steps to reproduce the behavior: Build and run app Expected behavior A clear and concise description of what you expected to happen.

Screenshots image.png (view on web)https://github.com/user-attachments/assets/b4a4a4c6-2ddf-4ddb-9270-f4c79ff4ef00 Android studio log:

FATAL EXCEPTION: main Process: com.pangaea.app, PID: 12295 java.lang.RuntimeException: Unable to get provider com.deploygate.sdk.DeployGateProvider: java.lang.SecurityException: com.pangaea.app: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts at android.app.ActivityThread.installProvider(ActivityThread.java:7770) at android.app.ActivityThread.installContentProviders(ActivityThread.java:7276) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6983) at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2236) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8177) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971) Caused by: java.lang.SecurityException: com.pangaea.app: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts at android.os.Parcel.createExceptionOrNull(Parcel.java:3057) at android.os.Parcel.createException(Parcel.java:3041) at android.os.Parcel.readException(Parcel.java:3024) at android.os.Parcel.readException(Parcel.java:2966) at android.app.IActivityManager$Stub$Proxy.registerReceiverWithFeature(IActivityManager.java:5684) at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1852) at android.app.ContextImpl.registerReceiver(ContextImpl.java:1792) at android.app.ContextImpl.registerReceiver(ContextImpl.java:1780) at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:755) at com.deploygate.sdk.DeployGate.prepareBroadcastReceiver(DeployGate.java:273) at com.deploygate.sdk.DeployGate.(DeployGate.java:238) at com.deploygate.sdk.DeployGate.install(DeployGate.java:491) at com.deploygate.sdk.DeployGate.install(DeployGate.java:464) at com.deploygate.sdk.DeployGateProvider.onCreate(DeployGateProvider.java:15) at android.content.ContentProvider.attachInfo(ContentProvider.java:2619) at android.content.ContentProvider.attachInfo(ContentProvider.java:2589) at android.app.ActivityThread.installProvider(ActivityThread.java:7765) at android.app.ActivityThread.installContentProviders(ActivityThread.java:7276) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6983) at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2236) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:294) at android.app.ActivityThread.main(ActivityThread.java:8177) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971) Caused by: android.os.RemoteException: Remote stack trace: at com.android.server.am.ActivityManagerService.registerReceiverWithFeature(ActivityManagerService.java:13927) at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2570) at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2720) at android.os.Binder.execTransactInternal(Binder.java:1339) at android.os.Binder.execTransact(Binder.java:1275)

Additional context

— Reply to this email directly, view it on GitHubhttps://github.com/kenjdavidson/react-native-bluetooth-classic/issues/336, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABPMJLYABYEP6I2MKEBY733ZP4RGPAVCNFSM6AAAAABL7WDSIWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGQ2DONZZG43DSMY. You are receiving this because you are subscribed to this thread.Message ID: @.***>