Leo*_*ang 5 android facebook unity-game-engine facebook-unity-sdk
用facebook unity sdk 6.0创建了一个简单的应用程序。
在启动功能中,调用init facebook。
有一个按钮调用登录,而登录回调仅输出字符串。
在装有Android 4.4.2的Samsung galaxy s5上运行。
问题(100%可重复):
1. First time click login button, get the facebook login screen.
2. Click exit button, back to app.
3. Click login button again, app crashed.
Run Code Online (Sandbox Code Playgroud)
崩溃转储:
W/dalvikvm(16020): threadid=1: thread exiting with uncaught exception (group=0x417f3da0)
V/SmartFaceService - 3rd party pause( 704): onReceive [android.intent.action.ACTIVITY_STATE/com.xxxxx.testfacebook/create]
I/SpenGestureManager( 704): setFocusWindow21055
D/PointerIcon( 704): setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
D/PointerIcon( 704): setMouseCustomIcon IconType is same.101
D/PointerIcon( 704): setHoveringSpenIconStyle1 pointerType: 10001iconType:1 flag:0
D/PointerIcon( 704): setHoveringSpenCustomIcon IconType is same.1
E/AndroidRuntime(16020): FATAL EXCEPTION: main
E/AndroidRuntime(16020): Process: com.xxxxx.testfacebook, PID: 16020
E/AndroidRuntime(16020): java.lang.Error: FATAL EXCEPTION [main]
E/AndroidRuntime(16020): Unity version : 4.5.3f3
E/AndroidRuntime(16020): Device model : samsung SAMSUNG-SM-G900A
E/AndroidRuntime(16020): Device fingerprint: samsung/klteuc/klteatt:4.4.2/KOT49H/G900AUCU1ANCE:user/release-keys
E/AndroidRuntime(16020):
E/AndroidRuntime(16020): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxxx.testfacebook/com.facebook.unity.FBUnityLoginActivity}: java.lang.UnsupportedOperationException: Session: an attempt was made to open an already opened session.
E/AndroidRuntime(16020): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2328)
E/AndroidRuntime(16020): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2386)
E/AndroidRuntime(16020): at android.app.ActivityThread.access$900(ActivityThread.java:169)
E/AndroidRuntime(16020): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1277)
E/AndroidRuntime(16020): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(16020): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(16020): at android.app.ActivityThread.main(ActivityThread.java:5476)
E/AndroidRuntime(16020): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(16020): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(16020): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
E/AndroidRuntime(16020): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
E/AndroidRuntime(16020): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(16020): Caused by: java.lang.UnsupportedOperationException: Session: an attempt was made to open an already opened session.
E/AndroidRuntime(16020): at com.facebook.Session.open(Session.java:1223)
E/AndroidRuntime(16020): at com.facebook.Session.openForPublish(Session.java:519)
E/AndroidRuntime(16020): at com.facebook.unity.FBLogin.sessionOpenRequest(FBLogin.java:113)
E/AndroidRuntime(16020): at com.facebook.unity.FBLogin.login(FBLogin.java:98)
E/AndroidRuntime(16020): at com.facebook.unity.FBUnityLoginActivity.onCreate(FBUnityLoginActivity.java:14)
E/AndroidRuntime(16020): at android.app.Activity.performCreate(Activity.java:5451)
E/AndroidRuntime(16020): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
E/AndroidRuntime(16020): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292)
E/AndroidRuntime(16020): ... 11 more
W/ActivityManager( 704): Force finishing activity com.xxxxx.testfacebook/com.facebook.unity.FBUnityLoginActivity
I/SQLiteSecureOpenHelper(27856): getWritableDatabase(pwd)
I/SQLiteSecureOpenHelper(27856): getDatabaseLocked(b,b,pwd)...
W/ActivityManager( 704): Force finishing activity com.xxxxx.testfacebook/com.unity3d.player.UnityPlayerNativeActivity
V/SmartFaceService - 3rd party pause( 704): onReceive [android.intent.action.ACTIVITY_STATE/com.xxxxx.testfacebook/pause]
I/dumpstate(16164): begin
I/SpenGestureManager( 704): setFocusWindow0
D/EnterpriseDeviceManager( 704): ContainerId: 0
D/PointerIcon( 704): setMouseIconStyle1 pointerType: 1001iconType:101 flag:0
D/PointerIcon( 704): setMouseCustomIcon IconType is same.101
D/PointerIcon( 704): setHoveringSpenIconStyle1 pointerType: 10001iconType:1 flag:0
D/CrashAnrDetector( 704): processName: com.xxxxx.testfacebook
D/PointerIcon( 704): setHoveringSpenCustomIcon IconType is same.1
D/CrashAnrDetector( 704): broadcastEvent : com.xxxxx.testfacebook data_app_crash
Run Code Online (Sandbox Code Playgroud)
找到了一个有趣的解决方案。
就像我在 James Baxter 的回答中评论的那样,如果您每次在登录前调用 init,即使您收到“FB.Init() 已被调用。您只需要调用一次且仅一次”,也不会发生崩溃。错误。
但是,根据文档,“该函数在对象的生命周期内只能调用一次;以后的调用会导致未定义的行为。”。
物体是指场景吗?或者另一个游戏对象?
归档时间: |
|
查看次数: |
2883 次 |
最近记录: |