Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: OSUtils.java:490 Could not invoke OneSignal.promptForPushNotificationsWithUserResponse #1449

Open
2 of 3 tasks
invyctus92 opened this issue Nov 7, 2022 · 25 comments
Open
2 of 3 tasks

Comments

@invyctus92
Copy link

What happened?

I got this error report from my analytics bugsnag: here is the device info:
manufacturer
Google
model
Pixel 4a
osName
android
osVersion
13
runtimeVersions
{
"reactNativeJsEngine": "hermes",
"reactNative": "0.70.4",
"androidApiLevel": "33",
"osBuild": "TP1A.221005.002"
}

Steps to reproduce?

Call
OneSignal.promptForPushNotificationsWithUserResponse(false, response => {
      console.log('Prompt response:', response);
});

What did you expect to happen?

The popup should appear to ask for permissions for notifications

React Native OneSignal SDK version

4.4.1

Which platform(s) are affected?

  • iOS
  • Android

Relevant log output

java.lang.RuntimeException: Could not invoke OneSignal.promptForPushNotificationsWithUserResponse
        at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:383)
        at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:188)
        at com.facebook.jni.NativeRunnable.run(NativeRunnable.java:-2)
        at android.os.Handler.handleCallback(Handler.java:942)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
        at java.lang.Thread.run(Thread.java:1012)

Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Method.invoke(Method.java:-2)
        at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
        at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:188)
        at com.facebook.jni.NativeRunnable.run(NativeRunnable.java:-2)
        at android.os.Handler.handleCallback(Handler.java:942)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
        at java.lang.Thread.run(Thread.java:1012)

Caused by: java.lang.ExceptionInInitializerError
        at com.onesignal.OneSignal.promptForPushNotifications(OneSignal.java:2864)
        at com.geektime.rnonesignalandroid.RNOneSignal.promptForPushNotificationsWithUserResponse(RNOneSignal.java:473)
        at java.lang.reflect.Method.invoke(Method.java:-2)
        at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
        at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:188)
        at com.facebook.jni.NativeRunnable.run(NativeRunnable.java:-2)
        at android.os.Handler.handleCallback(Handler.java:942)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
        at java.lang.Thread.run(Thread.java:1012)

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
        at com.onesignal.OSUtils.getTargetSdkVersion(OSUtils.java:490)
        at com.onesignal.NotificationPermissionController.<clinit>(NotificationPermissionController.kt:48)
        at com.onesignal.OneSignal.promptForPushNotifications(OneSignal.java:2864)
        at com.geektime.rnonesignalandroid.RNOneSignal.promptForPushNotificationsWithUserResponse(RNOneSignal.java:473)
        at java.lang.reflect.Method.invoke(Method.java:-2)
        at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
        at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:188)
        at com.facebook.jni.NativeRunnable.run(NativeRunnable.java:-2)
        at android.os.Handler.handleCallback(Handler.java:942)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:228)
        at java.lang.Thread.run(Thread.java:1012)

Code of Conduct

  • I agree to follow this project's Code of Conduct
@jkasten2
Copy link
Member

jkasten2 commented Dec 1, 2022

@invyctus92 Thanks for reporting with the fullstack trace. Can you let us know what event you are calling OneSignal.promptForPushNotificationsWithUserResponse() from?

What are the percentage of users are getting this crash?

Are you able to reproduce the crash? If so, what is the step-by-step to reproduce it?

@beqramo
Copy link

beqramo commented Dec 8, 2022

same situation,
I'm calling that function as it is in the documentation. in a separate file.

see logs from Google crash details:

Exception java.lang.RuntimeException: Could not invoke OneSignal.promptForPushNotificationsWithUserResponse
  at com.facebook.react.bridge.JavaMethodWrapper.invoke (JavaMethodWrapper.java:383)
  at com.facebook.react.bridge.JavaModuleWrapper.invoke (JavaModuleWrapper.java:188)
  at com.facebook.react.bridge.queue.NativeRunnable.run (NativeRunnable.java)
  at android.os.Handler.handleCallback (Handler.java:942)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage (MessageQueueThreadHandler.java:27)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run (MessageQueueThreadImpl.java:228)
  at java.lang.Thread.run (Thread.java:1012)
Caused by java.lang.reflect.InvocationTargetException:
  at java.lang.reflect.Method.invoke (Method.java)
  at com.facebook.react.bridge.JavaMethodWrapper.invoke (JavaMethodWrapper.java:372)
Caused by java.lang.ExceptionInInitializerError:
  at com.onesignal.OneSignal.promptForPushNotifications (OneSignal.java:2864)
  at com.geektime.rnonesignalandroid.RNOneSignal.promptForPushNotificationsWithUserResponse (RNOneSignal.java:473)
Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
  at com.onesignal.OSUtils.getTargetSdkVersion (OSUtils.java:490)
  at com.onesignal.NotificationPermissionController.<clinit> (NotificationPermissionController.kt:48)

@beqramo
Copy link

beqramo commented Dec 20, 2022

@jkasten2 Hi,
Any update on it? I'm getting many crashes on it.
Here are some insights:
Error occurs on android 13
image

@Dimous
Copy link

Dimous commented Dec 23, 2022

Hello!
My phone (Samsung Galaxy A51, Android 13) autoupdated today (details about patch -- https://doc.samsungmobile.com/SM-A515F/SER/doc.html) and my react-native app started crashing.

2022-12-23 21:15:15.618  6408-6460  AndroidRuntime          pid-6408                             E  FATAL EXCEPTION: mqt_native_modules
                                                                                                    Process: ru.azbykamebeli, PID: 6408
                                                                                                    java.lang.RuntimeException: Could not invoke OneSignal.promptForPushNotificationsWithUserResponse
                                                                                                    	at com.facebook.react.bridge.JavaMethodWrapper.invoke(Unknown Source:192)
                                                                                                    	at com.facebook.react.bridge.JavaModuleWrapper.invoke(Unknown Source:147)
                                                                                                    	at com.facebook.jni.NativeRunnable.run(Native Method)
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:942)
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                    	at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(Unknown Source:0)
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:226)
                                                                                                    	at android.os.Looper.loop(Looper.java:313)
                                                                                                    	at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(Unknown Source:37)
                                                                                                    	at java.lang.Thread.run(Thread.java:1012)
                                                                                                    Caused by: java.lang.reflect.InvocationTargetException
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method)
                                                                                                    	at com.facebook.react.bridge.JavaMethodWrapper.invoke(Unknown Source:148)
                                                                                                    	at com.facebook.react.bridge.JavaModuleWrapper.invoke(Unknown Source:147) 
                                                                                                    	at com.facebook.jni.NativeRunnable.run(Native Method) 
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:942) 
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                                    	at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(Unknown Source:0) 
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:226) 
                                                                                                    	at android.os.Looper.loop(Looper.java:313) 
                                                                                                    	at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(Unknown Source:37) 
                                                                                                    	at java.lang.Thread.run(Thread.java:1012) 
                                                                                                    Caused by: java.lang.ExceptionInInitializerError
                                                                                                    	at com.onesignal.c3.G1(Unknown Source:0)
                                                                                                    	at com.geektime.rnonesignalandroid.RNOneSignal.promptForPushNotificationsWithUserResponse(Unknown Source:11)
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                    	at com.facebook.react.bridge.JavaMethodWrapper.invoke(Unknown Source:148) 
                                                                                                    	at com.facebook.react.bridge.JavaModuleWrapper.invoke(Unknown Source:147) 
                                                                                                    	at com.facebook.jni.NativeRunnable.run(Native Method) 
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:942) 
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                                    	at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(Unknown Source:0) 
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:226) 
                                                                                                    	at android.os.Looper.loop(Looper.java:313) 
                                                                                                    	at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(Unknown Source:37) 
                                                                                                    	at java.lang.Thread.run(Thread.java:1012) 
                                                                                                    Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
                                                                                                    	at com.onesignal.OSUtils.o(Unknown Source:0)
                                                                                                    	at com.onesignal.l0.<clinit>(Unknown Source:27)
                                                                                                    	at com.onesignal.c3.G1(Unknown Source:0) 
                                                                                                    	at com.geektime.rnonesignalandroid.RNOneSignal.promptForPushNotificationsWithUserResponse(Unknown Source:11) 
                                                                                                    	at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                    	at com.facebook.react.bridge.JavaMethodWrapper.invoke(Unknown Source:148) 
                                                                                                    	at com.facebook.react.bridge.JavaModuleWrapper.invoke(Unknown Source:147) 
                                                                                                    	at com.facebook.jni.NativeRunnable.run(Native Method) 
                                                                                                    	at android.os.Handler.handleCallback(Handler.java:942) 
                                                                                                    	at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                                    	at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(Unknown Source:0) 
                                                                                                    	at android.os.Looper.loopOnce(Looper.java:226) 
                                                                                                    	at android.os.Looper.loop(Looper.java:313) 
                                                                                                    	at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(Unknown Source:37) 
                                                                                                    	at java.lang.Thread.run(Thread.java:1012) 

Dependencies:

"react-native": "^0.70.6",
"react-native-onesignal": "^4.5.0",

@Dimous
Copy link

Dimous commented Dec 27, 2022

It is only crashes in release mode. Should I tweak proguard rules or something?
Please help ASAP or I'm gonna get fired 😂

@cloudtenlabs
Copy link

any update on this issue?

@alex-yplabs
Copy link

alex-yplabs commented Jan 11, 2023

Any update on this? Facing the same issue - only on the release build.

@Dimous have you found a solution or we've been/gonna be fired? :)))

@iamrohitagg
Copy link

Getting the same crash for my application too. And the app crashes only on Samsung devices.

@alex-yplabs
Copy link

In the end, I fixed my issue by removing the code that was prompting programmatically the dialog to give notification permission, and I enabled that prompt using the in-app messages from OneSignal (the Push Permission Prompt one).

@ah584d
Copy link

ah584d commented Feb 14, 2023

@alex-yplabs Hi I have the same issue can you please provide a snippet example of your solution?
thanks

@alex-yplabs
Copy link

@alex-yplabs Hi I have the same issue can you please provide a snippet example of your solution? thanks

Hey!

It's not code per se. I just removed "OneSignal.promptForPushNotificationsWithUserResponse()" and I have used the In-App Message for notification prompt to actually prompt for push notifications (on the One Signal dashboard)

https://documentation.onesignal.com/docs/in-app-quickstart

@MursiDirect
Copy link

Same issue here, with Android devices only
"react-native": "0.64.2",
"react-native-onesignal": "^4.3.1",

@hotaryuzaki
Copy link

hotaryuzaki commented Mar 16, 2023

same issue in my emulator.
"react-native": "0.70.5", [EDIT] => UPDATE to "0.70.7",
"react-native-onesignal": "^4.5.0",

@hotaryuzaki
Copy link

i solve this with PermissionsAndroid from RN core

@ah584d
Copy link

ah584d commented Mar 17, 2023

i solve this with PermissionsAndroid from RN core

can you elaborate please?
does it means that you still used the original snippet from from the doc + something else related to android permission? can you post your snippet? thanks

@hotaryuzaki
Copy link

i solve this with PermissionsAndroid from RN core

can you elaborate please? does it means that you still used the original snippet from from the doc + something else related to android permission? can you post your snippet? thanks

i dont use @alex-yplabs solution because In-App-Message is limited for free user.
so i use PermissionsAndroid from react-native like here

await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS);

@hkanizawa
Copy link

Same issue here.. affecting 11%:
one1

Exception java.lang.RuntimeException: Could not invoke OneSignal.promptForPushNotificationsWithUserResponse at com.facebook.react.bridge.JavaMethodWrapper.invoke (JavaMethodWrapper.java:383) at com.facebook.react.bridge.JavaModuleWrapper.invoke (JavaModuleWrapper.java:188) at com.facebook.jni.NativeRunnable.run at android.os.Handler.handleCallback (Handler.java:942) at android.os.Handler.dispatchMessage (Handler.java:99) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage (MessageQueueThreadHandler.java:27) at android.os.Looper.loopOnce (Looper.java:226) at android.os.Looper.loop (Looper.java:313) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run (MessageQueueThreadImpl.java:228) at java.lang.Thread.run (Thread.java:1012) Caused by java.lang.reflect.InvocationTargetException: at java.lang.reflect.Method.invoke at com.facebook.react.bridge.JavaMethodWrapper.invoke (JavaMethodWrapper.java:372) Caused by java.lang.ExceptionInInitializerError: at com.onesignal.OneSignal.promptForPushNotifications (OneSignal.java:2864) at com.geektime.rnonesignalandroid.RNOneSignal.promptForPushNotificationsWithUserResponse (RNOneSignal.java:473) Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference at com.onesignal.OSUtils.getTargetSdkVersion (OSUtils.java:490) at com.onesignal.NotificationPermissionController.<clinit> (NotificationPermissionController.kt:48)

@john-llama
Copy link

Does anyone have an update on this ?

We are experiencing the same issue with latest RN version (0.71.6) and target SDK set to 33.

@augustovicente
Copy link

We are also having this issue. Target SDK is set to 33.

@jbrodriguez
Copy link

in our case, there's no crash in the os logs, the permission dialog shows up but then the app gets stuck, it just hangs, buttons in the dialog do nothing
i also added PERMISSIONS.POST_NOTIFICATIONS to the manifest, didn't make a difference
it works normally on ios

@alekaka
Copy link

alekaka commented Aug 22, 2023

Any solution?

Android 13

"react-native": "0.72.4"
"react-native-onesignal": "4.5.1"

android/build.gradle

buildToolsVersion = "33.0.0"
minSdkVersion = 21
compileSdkVersion = 33
targetSdkVersion = 33

@danklad
Copy link

danklad commented Nov 27, 2023

I am on
react-native: 0.70.8,
expo: ~47.0.14,
react-native-onesignal: 4.5.1,
and targetSDK 33

Still happens for people with android version 13 and above..

Any solution? Will upgrading the react-native-onesignal to 5.0.3 help?

@mwaqarshahid
Copy link

Facing same issue on Android 13 for Samsung devices in release mode:

package.json

"react": "18.2.0",
"react-native": "0.71.6",
"@sentry/react-native": "^5.15.1",
"@sentry/wizard": "1.0.6",
"react-native-onesignal": "^4.5.1",

android/build.gradle

buildToolsVersion = "33.0.0"
minSdkVersion = 21
compileSdkVersion = 33
targetSdkVersion = 33

@uasghar-smile
Copy link

Hi folks,

Facing same issue on following versions:

"react": "17.0.2",
"react-native": "0.68.6",
"@react-native-firebase/crashlytics": "^12.4.0",

And I can't use PERMISSIONS.POST_NOTIFICATIONS because this POST_NOTIFICATION permission was not present react-native's versions below 0.70

Any suggestions in this case?

@TrustDec
Copy link

TrustDec commented Feb 28, 2024

Hi folks,

Facing same issue on following versions:

"react": "17.0.2", "react-native": "0.68.6", "@react-native-firebase/crashlytics": "^12.4.0",

And I can't use PERMISSIONS.POST_NOTIFICATIONS because this POST_NOTIFICATION permission was not present react-native's versions below 0.70

Any suggestions in this case?

update react native version to 0.70+ 🤣 and add:
await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.POST_NOTIFICATIONS);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests