Seltsames verhalten beim schliessen der PreferencesActivity

  • Moin Jungs,


    ich hab da was ganz seltsammes im moment.


    Ich habe für jede Android Version (4,5,6,7) einige Smartphone's & Tablet's zum testen meiner Apps unter realen Bedingungen nur auf der Emu verlass ich mich nicht.


    Also ich habe da eine App mit der Mainactivity, Fragmente (16), Viepager (Swipe), NavigationDrawer und der SettingsActivity.


    Ist starte übers "onOptionsItemSelected" die SettingsActivity per intent (schicke noch die aktuelle ID des Fragment mit um speziefische Settings aufzurufen.
    Das funktioniert auch alles wunderbar unter Android 4,5,6,7.

    Code
    Intent intent = new Intent(MainActivity.this, SettingsActivity.class);
    intent.putExtra("intCurrentItem", mViewPager.getCurrentItem());
    MainActivity.this.startActivity(intent);

    Wenn ich die Settings wieder verlasse, drück ich den BACK Button um auf die MainActivity zu kommen.
    Was dann unter Android 4, 5, 6 einwandfrei Funktioniert.


    Aber unter Android 7.0 auf dem Samsung S8 & S8 plus und einem Huwai P9 Lite funktioniert es nicht oder besser gesagt es verhält sich komisch.
    Wenn ich unter Android 7.0 dan Back drücke, schliesst sich die PreferencesSettings und der Bildschirm bleibt komplett schwarz.


    Auch der Debuger spuckt keine Fehler oder sonstiges aus, als würde die App weiterlaufen aber alles bleibt schwarz. :S :S 8| 8|


    Bin da gerade echt am Rätseln...., hab auch schon allesmögliche an threads, task usw. auskommentiert was eventuell stören könnte.
    In der Emu läuft es einwandfrei?! 8| 8| 8|


    Jemand nen Tip für mich ?



    Danke

  • Hallo,
    ja ist wirklich ein seltsames Verhalten. Hast du den BackButton Überschrieben? "onBackPressed()"
    Was geschiet wenn du ein zweites mal den BackButten drückst?
    Machst du ein "finish()"nach "startActivity(intent)" ?


    Überschreibe mahl die onBackPressed Methode in der Einstellungs Activity und beende die Activity selber.


    Denke da hat Samsung wieder mal was eigenes gemacht, wenn es im Emu. geht liegt der Verdacht sehr nahe.

  • Moin,


    also in der MainActivity hab ich den BackPress

    In der Setting hab ich keinen BackPress eingebaut, aber werd das mal ausprobieren.


    Einen Finish() mache ich nicht beim Intent, ist das wichtig ? Weil sonst funkt es ja...

  • Sooo ich hab jetzt das ganze WE danach gesucht und herum gedoktert...


    Es lag an einem Thread (runnable) den ich im Fragment benutzt hatte.
    In Android 5 & 6 lief es ohne probleme nur unter 7.0 nicht.


    In Android 7.0 wurde ein Bug beseitigt....

    Code
    If an app posts Runnable tasks to a View, and the View is not attached to a window, the system queues the Runnable task with the View; the Runnable task does not execute until the View is attached to a window. This behavior fixes the following bugs:
    
    
        If an app posted to a View from a thread other than the intended window’s UI thread, the Runnable may run on the wrong thread as a result.
        If the Runnable task was posted from a thread other than a looper thread, the app could expose the Runnable task.

    Übersicht aller änderungen in Android OS 7.0


    https://developer.android.com/…/android-7.0-changes.html


    man man.... das hat mich echt nerfen gekostet....

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!