6

Używam facebook sdk w mojej aplikacji. Aby nie pokazać solowy pasek postępu, gdy przycisk facebook kliknięciu używam:FacebookActivity nie zadzwonił do mety() w Api 23+

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

Myślę jednak, że dla urządzeń z api 23+ powoduje awarię:

„com.facebook. FacebookActivity nie zadzwonił wykończenie() przed onResume() ukończenie”

Ktoś powiedział tutaj: Activity did not call finish? (API 23) pisząc:

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

aktywności problematycznej one sol zmierzył się z problemem. Ale skoro nie mogę edytować FacebookActivity, czy istnieje jakieś alternatywne rozwiązanie?

Odpowiedz

10

Facebook zmieniły instructions na początku konfigurowania projektu. Po prostu zmień kompozycję na com.facebook.FacebookActivity na @android:style/Theme.Translucent.NoTitleBar.

0

See javadoc z windowNoDisplay:

(...) swoją aktywność musi natychmiast opuścić bez czekania na interakcji z użytkownikiem (...)

Więc Wyjątkiem jest poprawny, czy przypadek użycia nie pasuje windowNoDisplay.

0

To jest błąd platformy.

Jeśli zostały przy użyciu Theme.NoDisplay w jednej lub kilku czynności w aplikacji i nie przetestowali je na Androida 6.0 jeszcze, polecam że robisz tak szybko. Nieudokumentowana regresja w systemie Android 6.0 spowoduje, że niektóre z tych działań ulegną awarii po uruchomieniu, jeśli twoja targetSdkVersion wynosi 23 lub więcej.

Zobacz ten post na blogu: https://commonsware.com/blog/2015/11/02/psa-android-6p0-theme.nodisplay-regression.html