6

Ich benutze Facebook sdk in meiner App. Um nicht die Solo-Fortschrittsbalken zu zeigen, wenn Facebook-Schaltfläche geklickt wird, ich bin mit:FacebookActivity nannte nicht beenden() auf Api 23+

<activity android:name="com.facebook.FacebookActivity" 
      android:configChanges= 
       "keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
      android:theme="@android:style/Theme.NoDisplay" 
</activity> 

Aber ich denke, für Geräte mit api 23+ dies führt zu einem Absturz:

„com.facebook. FacebookActivity nicht zu Ende() aufrufen vor onResume() abgeschlossen“

Jemand sagte hier: Activity did not call finish? (API 23) durch Schreiben:

@Override 
protected void onStart() { 
    super.onStart(); 
    setVisible(true); 
} 

in der problematischen Aktivität, sie sol ved das Problem. Aber da ich FacebookActivity nicht bearbeiten kann, gibt es eine alternative Lösung?

Antwort

10

Facebook haben ihre instructions für zunächst Einrichtung Ihres Projekts geändert. Ändern Sie einfach das Design für die com.facebook.FacebookActivity in @android:style/Theme.Translucent.NoTitleBar.

0

See javadoc von windowNoDisplay:

(...) Ihre Tätigkeit muss sofort ohne Wartezeit für Benutzer-Interaktion beenden (...)

So Ausnahme ist richtig, Ihr Anwendungsfall tut nicht übereinstimmen windowNoDisplay.

0

Dies ist Plattformfehler.

Wenn Sie Theme.NoDisplay in einer oder mehreren Aktivitäten in Ihre App verwendet haben, und Sie haben sie nicht auf Android 6.0 noch nicht getestet, empfehle ich , die Sie so bald tun. Eine undokumentierte Regression in Android 6.0 führt dazu, dass einige dieser Aktivitäten beim Start abstürzen, wenn Ihre Ziel-ID 23 oder höher ist.

Sehen Sie dieses Blog-Post: https://commonsware.com/blog/2015/11/02/psa-android-6p0-theme.nodisplay-regression.html