2

在安装了 FB 应用程序的索尼爱立信 Experia 上(我登录了它),facebook 登录不适用于最新的插件(10 月 13 日版本)。我点击我的连接按钮,它切换到 facebook 活动,然后将我重定向到浏览器,该浏览器重定向到指向“fbconnect://success#access_token=CAABZ .....”的另一个浏览器页面,它只显示“网页无法使用”。所以看起来它正在工作,只是没有回到我的应用程序。

这是我单击登录后 logcat 的输出:

E/ActivityThread(13575):无法找到 com.facebook.katana.provider.AttributionIdProvider 的提供者信息 D/PhoneWindow(13575):无法保存哪个视图具有焦点,因为焦点视图 com.unity3d.player.UnityPlayer$24@ 2b005760 没有 ID。I/ActivityManager(237): 开始: Intent { act=SSO_WITH_FALLBACK cmp=com.fluik.MyGame/com.facebook.LoginActivity (has extras) } 来自 pid 13575 E/ActivityThread(13575): 找不到 com 的提供者信息。 facebook.katana.provider.PlatformProvider I/ActivityManager(237): 开始: Intent { cmp=com.facebook.katana/.ProxyAuth (has extras) } from pid 13575 I/ActivityManager(237): 显示 com.facebook.katana/ .ProxyAuth:+328ms(总计+587ms)I/ActivityManager(237):开始:Intent {act=android.intent.action.VIEW dat=https://m.facebook.com/dialog/permissions.request?app_id=138830872932854&client_id=138830872932854&redirect_uri=fbconnect%3A%2F%2Fsuccess&type=user_agent&perms=email%2Cuser_birthday&fbconnect=1&sso=android&android_key=hhffGIAnpPWh&_compath=shffGIAnpPWh&_compath=s _ .android.browser/.BrowserActivity } 来自 pid 9026 I/ActivityManager(237):开始:Intent { act=android.intent.action.VIEW cat=[android.intent.category.BROWSABLE] dat= https://m. facebook.com/dialog/oauth?client_id=138830872932854&redirect_uri=fbconnect%3A%2F%2Fsuccess&type=user_agent&fbconnect=1&sso=android&android_key=hhffGIAnpPWh4E4lLnO-jseVpiU&scope=email%2Cuser_birthday&_rdrcmp=com.android.browser/.BrowserActivity } from pid 13494 E/Tab (13494): onReceivedError -10 fbconnect://success#access_token=CAABZBRBTdcfYBALJgE64WnGcfAfORTZA0wHYwsKvL7lApIjrdIUqNzDEqHsVhnWQjCwU9KLsZBB7pWUiwsZAlhnc5jMQEUeHlZAVFobn8aqVpTEQJmFjxyiZAZCnVZCvdJfZB14sfO545tc0ZAYR7g81pChZA0phZAx1nh3deje1t4NsvU7nPj0PG0mscj88S8ZBdTGlGXkYl5dVRZCo2v6x8G4IpX&expires_in=5182746 The protocol is not supported.

有一次它确实回到了应用程序,我在登录时得到了一个新的空指针,被报告为来自 LoginActivity,最终看起来来自:

com.facebook.AuthorizationClient.logAuthorizationMethodComplete(
     AuthorizationClient.java:519)

查看代码,这里唯一可能导致空指针的似乎是未初始化的记录器:

this.appEventsLogger.logSdkEvent(
     "fb_mobile_login_method_start", null, bundle);

这是堆栈跟踪。

E/AndroidRuntime(13363):java.lang.RuntimeException:无法恢复活动{com.fluik.WordMeisterFree/com.facebook.LoginActivity}:java.lang.RuntimeException:失败>交付结果ResultInfo{who=null,request=64206 ,结果 = 0,数据 = null} 到活动 {com.fluik.WordMeisterFree/com.facebook.LoginActivity}:java.lang.NullPointerException E/AndroidRuntime(13363):在 android.app.ActivityThread.performResumeActivity(ActivityThread.java: 2141) E/AndroidRuntime(13363): 在 android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2156) E/AndroidRuntime(13363): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1680) E/AndroidRuntime( 13363): 在 android.app.ActivityThread.access$1500(ActivityThread.java:121) E/AndroidRuntime(13363): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:943) E/AndroidRuntime(13363): 在 android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime(13363): 在 android.os.Looper.loop(Looper.java:130) E/AndroidRuntime( 13363): 在 android.app.ActivityThread.main(ActivityThread.java:3701) E/AndroidRuntime(13363): 在 java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(13363): 在 java.lang .reflect.Method.invoke(Method.java:507) E/AndroidRuntime(13363): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) E/AndroidRuntime(13363): at com .android.internal.os.ZygoteInit.main(ZygoteInit.java:624) E/AndroidRuntime(13363): at dalvik.system.NativeStart.main(Native Method) E/AndroidRuntime(13363): Caused by: java.lang. RuntimeException: 传递结果失败 ResultInfo{who=null, request=64206, result=0,data=null} 到活动 {com.fluik.WordMeisterFree/com.facebook.LoginActivity}: java.lang.NullPointerException E/AndroidRuntime(13363): at android.app.ActivityThread.deliverResults(ActivityThread.java:2553) E/AndroidRuntime (13363): 在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:2128) E/AndroidRuntime(13363): ... 12 更多 E/AndroidRuntime(13363): 由: java.lang.NullPointerException E/AndroidRuntime( 13363): 在NullPointerException E/AndroidRuntime(13363):在NullPointerException E/AndroidRuntime(13363):在com.facebook.AuthorizationClient.logAuthorizationMethodComplete(AuthorizationClient.java:519) E/AndroidRuntime(13363):在 com.facebook.AuthorizationClient.logAuthorizationMethodComplete(AuthorizationClient.java:487) E/AndroidRuntime(13363):在 com.facebook.AuthorizationClient.complete(AuthorizationClient.java:297) E/AndroidRuntime(13363) : 在 com.facebook.AuthorizationClient.completeAndValidate(AuthorizationClient.java:289) E/AndroidRuntime(13363): 在 com.facebook.AuthorizationClient$KatanaProxyAuthHandler.onActivityResult(AuthorizationClient.java:948) E/AndroidRuntime(13363): 在 com. facebook.AuthorizationClient.onActivityResult(AuthorizationClient.java:187) E/AndroidRuntime(13363): 在 com.facebook.LoginActivity.onActivityResult(LoginActivity.java:138) E/AndroidRuntime(13363): 在 android.app.Activity.dispatchActivityResult( Activity.java:3908) E/AndroidRuntime(13363):在 android.app.ActivityThread。deliverResults(ActivityThread.java:2549) E/AndroidRuntime(13363): ... 13 更多

任何帮助,将不胜感激...

更新: 只想提一下我构建了演示项目,即在一个干净的项目中的交互式控制台场景,并得到了完全相同的行为......

更新 2: 我在另一台设备上再次尝试(首先是索尼爱立信 Experia,其次是 Nexus 10),它运行良好。迷人的。欢迎来到安卓地狱...

无论如何,如果它可以帮助识别问题,这里是在点击登录后运行的 nexus 10 上的 logcat 输出:

E/ActivityThread(2755):无法找到 com.facebook.katana.provider.AttributionIdProvider I/ActivityManager(463)的提供者信息:START u0 {act=SSO_WITH_FALLBACK cmp=com.fluik.MyGame/com.facebook.LoginActivity(有extras)} 来自 pid 2755 E/ActivityThread(2755):无法找到 com.facebook.katana.provider.PlatformProvider D/FacebookSDK.WebDialog(2755) 的提供者信息:Webview 加载 URL:https ://m.facebook.com /dialog/oauth?display=touch&e2e=%7B%22init%22%3A1382373838875%7D&client_id=138830872932854&scope=email%2Cuser_birthday&type=user_agent&redirect_uri=fbconnect%3A%2F%2Fsuccess I/ActivityManager(463):显示 com.fluik.MyGame/com .facebook.LoginActivity: +363ms D/FacebookSDK.WebDialog(2755): 重定向 URL:https://m.facebook.com/login.php?skip_api_login=1&api_key=138830872932854&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dfbconnect%253A%252F%252Fsuccess%26display% 3Dtouch%26scope%3Demail%252Cuser_birthday%26type%3Duser_agent%26client_id%3D138830872932854%26ret%3Dlogin&cancel_uri=fbconnect%3A%2F%2Fsuccess%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3Dereason%3D_userdenied%266Dreason%3D_用户错误%26 257B%2522init%2522%253A1382373838875%257D&display=touch&_rdr D/FacebookSDK.WebDialog(2755): Webview 加载 URL:https://m.facebook.com/login.php?skip_api_login=1&api_key=138830872932854&signed_next=1&next=https%3A%2F%2Fm.facebook.com%2Fdialog%2Foauth%3Fredirect_uri%3Dfbconnect%253A%252F%252Fsuccess%26display% 3Dtouch%26scope%3Demail%252Cuser_birthday%26type%3Duser_agent%26client_id%3D138830872932854%26ret%3Dlogin&cancel_uri=fbconnect%3A%2F%2Fsuccess%3Ferror%3Daccess_denied%26error_code%3D200%26error_description%3Dereason%3D_userdenied%266Dreason%3D_用户错误%26 257B%2522init%2522%253A1382373838875%257D&display=touch&_rdr

4

1 回答 1

-2

克劳斯·鲁巴

尝试在您的手机开发调试设置中取消选中“不保留活动”。此外,当您调用 FB 登录功能时,仅调用“publish_action”存在某种错误,您不能同时为 android 请求读取和写入权限。

于 2013-10-30T17:40:57.487 回答