我用com.facebook.widget.UserSettingsFragment
來管理我的應用程序登錄/註銷Facebook的前:的Android的Facebook SDK UserSettingsFragment崩潰暫停時完成其任務
UserSettingsFragment userSettingsFragment = new UserSettingsFragment();
Session session = Session.getActiveSession();
if(session==null || session.isClosed()){
userSettingsFragment.setPublishPermissions(Arrays.asList("publish_actions"));
}
fragmentTransaction.replace(R.id.content_container, userSettingsFragment, "userSettingsFragment");
它似乎正確登錄/註銷,但是當我開始這個Fragment
當我已經記錄並暫停時(例如,通過替換Fragment
),它崩潰。看起來它有一些線程在運行,當它結束時,它需要Activity
,它不再存在,所以它崩潰了。
它看起來像是一個錯誤,或者我錯過了什麼?
08-18 12:16:58.345: E/AndroidRuntime(18068): java.lang.IllegalStateException: Fragment UserSettingsFragment{420c3a08} not attached to Activity
08-18 12:16:58.345: E/AndroidRuntime(18068): at android.support.v4.app.Fragment.getResources(Fragment.java:579)
08-18 12:16:58.345: E/AndroidRuntime(18068): at com.facebook.widget.UserSettingsFragment.processImageResponse(UserSettingsFragment.java:383)
08-18 12:16:58.345: E/AndroidRuntime(18068): at com.facebook.widget.UserSettingsFragment.access$7(UserSettingsFragment.java:379)
08-18 12:16:58.345: E/AndroidRuntime(18068): at com.facebook.widget.UserSettingsFragment$2.onCompleted(UserSettingsFragment.java:370)
08-18 12:16:58.345: E/AndroidRuntime(18068): at com.facebook.widget.ImageDownloader$1.run(ImageDownloader.java:161)
08-18 12:16:58.345: E/AndroidRuntime(18068): at android.os.Handler.handleCallback(Handler.java:730)
08-18 12:16:58.345: E/AndroidRuntime(18068): at android.os.Handler.dispatchMessage(Handler.java:92)
08-18 12:16:58.345: E/AndroidRuntime(18068): at android.os.Looper.loop(Looper.java:137)
08-18 12:16:58.345: E/AndroidRuntime(18068): at android.app.ActivityThread.main(ActivityThread.java:5103)
08-18 12:16:58.345: E/AndroidRuntime(18068): at java.lang.reflect.Method.invokeNative(Native Method)
08-18 12:16:58.345: E/AndroidRuntime(18068): at java.lang.reflect.Method.invoke(Method.java:525)
08-18 12:16:58.345: E/AndroidRuntime(18068): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
08-18 12:16:58.345: E/AndroidRuntime(18068): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-18 12:16:58.345: E/AndroidRuntime(18068): at dalvik.system.NativeStart.main(Native Method)
看起來像一個bug,請在這裏(https://developers.facebook.com/bugs)使用repro步驟將其提交。 –
謝謝,我已經做到了。 – jul