Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Android Kotlin error when app come back from background

Offen
#266 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
1-2 Tage
Anfängerfreundlichkeit
15/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
android, java, kotlin
Bereich
mobile, networking

Rechercherichtung

The crash is a Kotlin null-check (Intrinsics.checkParameterIsNotNull, parameter code) inside the reporter's own PusherRepositoryImp$connect$1.onError, called from WebSocketConnection$5.run in the library's WebSocketConnection.java:238. Start by reading how the library's connection error callback passes its arguments, then check whether the reporter's onError signature declares a nullable code. The issue has no comments and no reproduction, so 'done' is not defined here and it would need a maintainer decision before any change.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

question

version pusher = "2.2.1"
version pusherNotifications = "1.6.2"
Hi...I have a ugly error when app come back from background....
When I detected that the app is going to background I do this

 override fun closePrincipalChannelConnection() {
        Log.d(TAG,"closePrincipalChannelConnection")
        channel?.unbind("chat-message") {
            Log.d(TAG,"onEvent")
        }
        channel?.unbind("new-follower") {
            Log.d(TAG,"onEvent")
        }
       pusher?.unsubscribe(channelName)
    }

Then when 5-10 pass and the app come back from background, I mean, now the app is in foreground, then call

  override fun connectToGeneral(){
            channelName = "presence-$profileId"
            channel= pusher?.subscribePresence(channelName, object : PresenceChannelEventListener {
                override fun onAuthenticationFailure(message: String, e: Exception) {
                    Log.d(TAG,String.format("Authentication failure due to [%s], exception was [%s]", message, e))
                }

                override fun onSubscriptionSucceeded(channelName: String?) {
                    Log.d(TAG,"onSubscriptionSucceeded$channelName")

                }

                override fun onEvent(event: PusherEvent?) {
                    Log.d(TAG,"onEvent"+event?.data)
                }

                override fun onUsersInformationReceived(channelName: String?, users: MutableSet<User>?) {
                    Log.d(TAG, "onUsersInformationReceived$channelName${users.toString()}")
                }

                override fun userUnsubscribed(channelName: String?, user: User?) {
                    Log.d(TAG, "userUnsubscribed$channelName${user.toString()}")

                }

                override fun userSubscribed(channelName: String?, user: User?) {
                    Log.d(TAG, "userSubscribed$channelName${user.toString()}")
                }
            })

            channel?.bind("chat-message", object: PresenceChannelEventListener{
                override fun onAuthenticationFailure(message: String?, e: java.lang.Exception?) {
                    Log.d(TAG,String.format("Authentication failure due to [%s], exception was [%s]", message, e))

                }

                override fun onUsersInformationReceived(channelName: String?, users: MutableSet<User>?) {
                    Log.d(TAG, "onUsersInformationReceived$channelName${users.toString()}")
                }

                override fun userUnsubscribed(channelName: String?, user: User?) {
                    Log.d(TAG, "userUnsubscribed$channelName${user.toString()}")

                }

                override fun userSubscribed(channelName: String?, user: User?) {
                    Log.d(TAG, "userSubscribed$channelName${user.toString()}")
                }

                override fun onEvent(event: PusherEvent?) {
                    Log.d(TAG,"onEvent"+event?.data)

                    logicTypeMessage(PusherEvents.EVENT_TYPE_MESSAGE,event?.data ?:"")
                }

                override fun onSubscriptionSucceeded(channelName: String?) {
                    Log.d(TAG,"onSubscriptionSucceeded$channelName")
                }
            })

            channel?.bind("new-follower", object: PresenceChannelEventListener{
                override fun onAuthenticationFailure(message: String?, e: java.lang.Exception?) {
                    Log.d(TAG,String.format("Authentication failure due to [%s], exception was [%s]", message, e))

                }

                override fun onUsersInformationReceived(channelName: String?, users: MutableSet<User>?) {
                    Log.d(TAG, "onUsersInformationReceived$channelName${users.toString()}")
                }

                override fun userUnsubscribed(channelName: String?, user: User?) {
                    Log.d(TAG, "userUnsubscribed$channelName${user.toString()}")

                }

                override fun userSubscribed(channelName: String?, user: User?) {
                    Log.d(TAG, "userSubscribed$channelName${user.toString()}")
                }

                override fun onEvent(event: PusherEvent?) {
                    Log.d(TAG,"onEvent"+event?.data)

                    logicTypeMessage(PusherEvents.EVENT_TYPE_CONNECTIONS,event?.data ?:"")

                }

                override fun onSubscriptionSucceeded(channelName: String?) {
                    Log.d(TAG,"onSubscriptionSucceeded$channelName")
                }
            })
       

    }

The app crash whit the following message

Fatal Exception: java.lang.IllegalArgumentException
Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter code
com.xxx.repository.pusher.PusherRepositoryImp$connect$1.onError (Origen desconocido:7)
com.pusher.client.connection.websocket.WebSocketConnection$5.run (WebSocketConnection.java:238)
com.pusher.client.util.Factory$1.run (Factory.java:119)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1162)
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:636)
java.lang.Thread.run (Thread.java:764)

whats wrong in my code??
thanks

Vorherrschende Sprache
Java
Sterne
315
Forks
140
Ø Merge
10 T. 14 Std.
Gemergte PRs (30 T.)
5

Entwicklungsumgebung

  • Kein Dockerfile und keine Docker-Compose-Datei
  • Hat eine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus pusher/pusher-websocket-java

Alle Issues in pusher/pusher-websocket-java

Ähnliche Issues

Weitere Issues zu Java

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.