React-native-onesignal: [CRASH] [ANDROID] nullオブジェクト参照で仮想メソッド 'boolean android.app.NotificationChannel.isDeleted()'を呼び出そうとしました

作成日 2021年01月23日  ·  8コメント  ·  ソース: OneSignal/react-native-onesignal

説明:

一部のユーザーからのcrashlyticsによって報告されたAndroidでのクラッシュ。

環境
パッケージ

"react": "16.13.1",
"react-native": "0.63.4",
"react-native-onesignal": "^4.0.3",

端末

Android: 8
Devices: HUAWEI P10 lite,  Sasmung Galaxy S8

問題を再現する手順:
プッシュ通知OneSignalを受信します。
これ以上の情報はありません。

他に何か:

エラー

Fatal Exception: java.lang.NullPointerException
Attempt to invoke virtual method 'boolean android.app.NotificationChannel.isDeleted()' on a null object reference

スタックトレース

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.app.NotificationChannel.isDeleted()' on a null object reference
       at android.os.Parcel.readException(Parcel.java:1960)
       at android.os.Parcel.readException(Parcel.java:1900)
       at android.app.INotificationManager$Stub$Proxy.getNotificationChannels(INotificationManager.java:1618)
       at android.app.NotificationManager.getNotificationChannels(NotificationManager.java:515)
       at com.onesignal.NotificationChannelManager.processChannelList(NotificationChannelManager.java:236)
       at com.onesignal.OneSignal$5.complete(OneSignal.java:970)
       at com.onesignal.OneSignalRemoteParams.processJson(OneSignalRemoteParams.java:205)
       at com.onesignal.OneSignalRemoteParams.access$100(OneSignalRemoteParams.java:12)
       at com.onesignal.OneSignalRemoteParams$1.onSuccess(OneSignalRemoteParams.java:150)
       at com.onesignal.OneSignalRestClient$5.run(OneSignalRestClient.java:269)
       at java.lang.Thread.run(Thread.java:784)
Help Wanted Possible Bug

最も参考になるコメント

こんにちは、
同じ問題が発生しました。 Crashlyticsでは、1人のユーザーが1日に約218回のクラッシュを起こしました。
デバイスブランド-Oppo
OSバージョン-9
スタックトレース-
com.onesignal.NotificationChannelManager.processChannelList
致命的な例外:java.lang.NullPointerException:nullオブジェクト参照で仮想メソッド 'boolean android.app.NotificationChannel.isDeleted()'を呼び出そうとしました

まだ解決策はありますか?

全てのコメント8件

わかった?

ハウディ、
スタックトレースをありがとうございました。

@Jeasmineここから来てい

表面レベルからは、OneSignal Notification Managerは、ある時点で削除されてnullになるチャネルへの参照を追跡しているようです。

これについてもう少し掘り下げる必要があります。

これを報告していただきありがとうございます。

@ Jeasmine @ rgomezpネイティブonesignal:OneSignal :[4.0.0、4.99.99]
Samsung Galaxy SM-G950F(Android 9)でのクラッシュの99%(1ユーザーのみ)
残念ながら、複製の手順はわかりません。

1-デバイスでアプリグループを無効にしてプッシュを送信しようとしましたが、クラッシュしませんでした。
2-android_channel_idをAPIリクエストに保存しようとしましたが、IDを削除しましたが、クラッシュしませんでした
3-android_channel_idの名前を変更しようとしましたが、変更はありません

@kperreau @ luan-nvgあなたが私たちの複製を助けようとしたことについて他に何かアイデアはありますか?

カスタムAndroidチャネルIDまたはOneSignalAndroidチャネルIDを使用していますか?

こんにちは。同じ問題が発生しましたが、アプリがネイティブAndroid SDKで実行されており、未解決の問題はないため、ここでコメントします。 これが私に起こる問題に関するいくつかの情報です:

  1. OneSignalSDKは4.0.0です
  2. デバイスはAndroid9、Oppo Realme C1、90%はバックグラウンドで発生し、現在87のイベントが発生し、このユーザーのみが発生します
  3. 非常に小さなユーザーであり、テストするデバイスがないため、再現方法がわかりません
  4. 問題の原因となっているコード部分は、前述の@rgomezpと同じです。

今のところ、それを処理またはキャッチするために私にできることはありますか? クラッシュの発生を見るのはかなり心配です、ありがとう

連絡あった ? このクラッシュのため、Playストアで悪いレビューがありました。
Samsung S8ユーザー(Android 9)は、起動時にすぐにクラッシュしました。

@ jfishman1カスタムAndroidチャンネルIDを使用しています。

こんにちは、
同じ問題が発生しました。 Crashlyticsでは、1人のユーザーが1日に約218回のクラッシュを起こしました。
デバイスブランド-Oppo
OSバージョン-9
スタックトレース-
com.onesignal.NotificationChannelManager.processChannelList
致命的な例外:java.lang.NullPointerException:nullオブジェクト参照で仮想メソッド 'boolean android.app.NotificationChannel.isDeleted()'を呼び出そうとしました

まだ解決策はありますか?

こんにちは@rgomezp
これに関する更新はまだありますか? この問題から現在までに約2〜3kのクラッシュが発生しました。 これが原因で、Crashlyticsのレポートがめちゃくちゃになっています。 解決策を提供してください。

このページは役に立ちましたか?
0 / 5 - 0 評価