German android.app.RemoteServiceException

Powie

Member
Licensed User
Longtime User
Vielleicht hat jemand eine Idee oder ähnliches. Ich bin seit ein paar Tagen ratlos mit dem Problem meiner App. Die App lief monatelang problemfrei ohne Absturzberichte im Playstore......

Letzte Woche habe ich einen minimalen Fehler gefunden was aber keinen Code betraf sondern nur ein Layout. Ich habe dann diesen Bug behoben und mir gleichzeitig das Thema mit targetSdkVersion = 26 angetan. Die runtime permission benötige ich nur an zwei Stellen, das war soweit einfach...

Nun habe ich mit der App das Problem das mir im Store Absturzberichte zugestellt werden, in der Regel nur auf Android 8, auffällig häufig auf Sony Geräten. Ich kann das nicht reproduzieren. Ich habe 3 Geräte zum entwickeln mit 6,7,8 und kann den Fehler nicht "erzwingen". Ich bin also ratlos. Bei der Suche hier und auf Google kommt nicht viel wertvolles heraus, es geht immer in Richtung Notifications. Das habe ich alles überprüft, kann aber keinen Fehler feststellen....

Fehlerreport:

android.app.RemoteServiceException:
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1780)
at android.os.Handler.dispatchMessage (Handler.java:105)
at android.os.Looper.loop (Looper.java:251)
at android.app.ActivityThread.main (ActivityThread.java:6572)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:767)

Trotzdem habe ich den Umgang mit der Notification mal geändert, unter anderem mal NB6 genutzt, der Fehler ändert sich aber nicht, evtl. hat es damit nichts zu tun.

Wie kann ich dem näher kommen?
 

JohnnyHamburg

Member
Licensed User
Longtime User
Das ist interessant, weil ich die gleiche Fehlermeldung bei einer App bekomme. Allerdings von Samsung Geräten mit Android 6. Ich hatte auch vor kurzem auf SDK 26 eingestellt und dabei NB6 verwendet für die Notification. Ich haben einen 1-Mal-am-Tag timer service im Code.
Hier wurde ein Problem mit NB6 besprochen, ich hatte vermutet, dass die Abstürze daher kommen:

https://www.b4x.com/android/forum/t...-hard-forcing-phone-reboot.95947/#post-605670
 

Powie

Member
Licensed User
Longtime User
Ja das kam bei mir auch häufig von Samsung Geräten, auch mit Android 6.

Es war bei mir in der Tat so das die Möglichkeit bestand das ich die Notification ausgelöst habe, der Service aber bereitsch schon wieder beendet wurde. Da das nicht ganz synchron abläuft gibt es deswegen diese Fehlermeldung.
Bei mir war es egal ob ich die Default Notification benutze oder das mit NB6 mache. Der Bug wird gleichermaßen ausgelöst.

Schau dir deinen Service mal genau an. Es reicht auch schon wenn der Service selbst so schnell durchläuft das er in paar Millisekunden fertig ist.

Was ich draus gelernt habe: Niemals in Service.create schon wieder beenden. Frühestens in Service.Start
 

JohnnyHamburg

Member
Licensed User
Longtime User
Ok, danke für die schnelle Antwort. Ist schon komisch, dass solche Fehler nur eine Android-Version betreffen.

Also ich habe jetzt in service_create diesen Code:
B4X:
n.Initialize
    n.OnGoingEvent = False
    n.Sound = False
    n.Vibrate = True
    n.AutoCancel = True
    
    n.Icon = "icon1"
    n.SetInfo("Titel", "TExt", activity)


Und in service_start:

B4X:
n.Notify(1)

Sollte ich besser alles in service_start schreiben?
 

Powie

Member
Licensed User
Longtime User
Ich setze die in Create.

Wichtig ist aber, du musst die nicht auslösen. Ob die Notification angezeigt wird oder nicht entscheidet der SDK dann selbst.

n.Notify(1) kannst du dir sparen!
 
Top