Android 使用Facebook登录解析-可能从APK v42或Graph API v2.4开始

Android 使用Facebook登录解析-可能从APK v42或Graph API v2.4开始,android,parse-platform,facebook-login,Android,Parse Platform,Facebook Login,注意:我编辑了这个问题的摘要,因为我认为重点必须从Android API转移到Facebook本身 自从我的设备更新到Facebook v42,或者Facebook将其Graph API更新到v2.4(),我的应用程序就无法登录。我的三星S6(API 22)最初失败,3天后,当我的HTC(API 21)更新Facebook应用程序时,它也未能登录,直到那时它才成功 采取的初始步骤: 我试图从测试用户的facebook权限中删除应用程序并重新添加它-在这种情况下,它请求允许权限,但失败 我测试了

注意:我编辑了这个问题的摘要,因为我认为重点必须从Android API转移到Facebook本身

自从我的设备更新到Facebook v42,或者Facebook将其Graph API更新到v2.4(),我的应用程序就无法登录。我的三星S6(API 22)最初失败,3天后,当我的HTC(API 21)更新Facebook应用程序时,它也未能登录,直到那时它才成功

采取的初始步骤:

  • 我试图从测试用户的facebook权限中删除应用程序并重新添加它-在这种情况下,它请求允许权限,但失败
  • 我测试了多个测试用户,但都失败了
  • 我已经禁用了预安装的Facebook应用程序-这允许使用webview作为登录方法,但仍然失败。摘自最上面的答案
更新1:

ParseException摘自评论:“用户以不同的Facebook用户身份登录。”

如果我使用我的Facebook凭据登录,应用程序不会给出错误。由于我不是注册的测试用户,它应该在Parse数据库中创建一个用户并继续main活动。相反,LoginActivity保持不变,我的数据不会添加到数据库中

更新2:

我的HTC running 5.0今天刚刚更新了Facebook应用程序,现在出现了相同的错误Toast(“Facebook登录失败”)。我禁用并卸载了应用程序,但Toast仍然出现

更新3:

我已经更新了Parse SDK,并更改了依赖项以反映最新的Facebook SDK(4.5.0)。同样的错误仍在发生

更新4:

该应用程序在没有本机Facebook应用程序的任何模拟器上成功登录


ParseLoginFragment-实现toast的位置

禁用本机Facebook应用程序的LogCat:

启用本机Facebook应用程序的LogCat:


我可以在你的日志中看到这一点

08-12 19:48:53.371  32227-32227/com.guile.occ E/ActivityThread﹕ Failed to find provider info for com.facebook.katana.provider.PlatformProvider
08-12 19:48:53.371  32227-32227/com.guile.occ E/ActivityThread﹕ Failed to find provider info for com.facebook.wakizashi.provider.
这意味着它无法连接互联网检查这个

并尝试将其添加到清单中

<uses-permission android:name="android.permission.SET_DEBUG_APP"/>

无论好坏,每个Android迭代都有自己的
WebView
实现。5.0+Androids使用基于应用程序的实现,定期更新等等,但也不同于以前的实现


长话短说,我相信这就是问题所在。
WebView
可以为您的登录维护会话,或者将凭据保存在cookie存储中以供重复使用/确认。我无法在此提供直接的解决方案,因为我对新WebView的内部结构不太熟悉,但请尝试在每次新登录之前强制清除会话和/或cookie存储,看看会发生什么。

ParseException的内容是什么?尝试中断指向它或打印.getLocalizedMessage()以登录,.toString()将不总是有效。例外情况是“用户以不同的Facebook用户身份登录”。嗯。好的,这里的评论要点是,如果您没有安装Facebook APK,那么它将不起作用。我的设备预装了Facebook。我试过启用和禁用它。禁用后,我会收到webview登录,但仍然失败(如上所述)。另外,我添加了许可,但没有用。只是一个方面,我想我在那个特定测试中的日志会给出这些行,因为有一个互联网问题。当我现在尝试运行它时,它们不再出现,因此您的回答可能仍然对那些有这些行的人有帮助。谢谢您的评论。你是指每个安卓设备还是每个安卓API?我正在HTC上运行5.0版的应用程序,没有问题,但在三星S6上的5.1.1版上失败了。尝试了您的建议,但没有效果。更像是每个制造商的API集,但这不是一个规则。很抱歉,这没用,但至少我给你指出了正确的方向。检查Android 5.1.1。码头,变更记录等等,它必须在那里:)另外,你有你的fb帐户与系统链接吗?如果是这样,请尝试将其与设置断开链接并运行你的应用程序,然后:-)你提供了一些很好的信息,所以我还是投了赞成票。我的凭据存储在设备上,但我通过完全禁用本机Facebook应用程序来确保应用程序没有试图访问它(通过单点登录或其他方式)。这意味着登录时会弹出一个WebView,但会出现与以前相同的结果。感谢upvote:-)我理解,因为我认为你仍然应该尝试完全断开facebook帐户的链接,以确保5.1 WebView不会导入这些内容
08-14 22:59:45.761  13249-13249/com.guile.occ E/Zygote﹕ MountEmulatedStorage()
08-14 22:59:45.761  13249-13249/com.guile.occ E/Zygote﹕ v2
08-14 22:59:45.761  13249-13249/com.guile.occ I/libpersona﹕ KNOX_SDCARD checking this for 10033
08-14 22:59:45.761  13249-13249/com.guile.occ I/libpersona﹕ KNOX_SDCARD not a persona
08-14 22:59:45.761  13249-13249/com.guile.occ I/SELinux﹕ Function: selinux_compare_spd_ram , priority [2] , priority version is VE=SEPF_SM-G925F_5.1.1_0030
08-14 22:59:45.761  13249-13249/com.guile.occ E/SELinux﹕ [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL
08-14 22:59:45.761  13249-13249/com.guile.occ I/art﹕ Late-enabling -Xcheck:jni
08-14 22:59:45.771  13249-13249/com.guile.occ D/TimaKeyStoreProvider﹕ TimaSignature is unavailable
08-14 22:59:45.781  13249-13249/com.guile.occ D/ActivityThread﹕ Added TimaKeyStore provider
08-14 22:59:45.801  13249-13249/com.guile.occ I/InjectionManager﹕ Inside getClassLibPath + mLibMap{0=, 1=}
08-14 22:59:45.811  13249-13249/com.guile.occ I/InjectionManager﹕ Inside getClassLibPath caller
08-14 22:59:45.871  13249-13285/com.guile.occ I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
08-14 22:59:45.871  13249-13285/com.guile.occ I/System.out﹕ (HTTPLog)-Static: isShipBuild true
08-14 22:59:45.871  13249-13285/com.guile.occ I/System.out﹕ (HTTPLog)-Thread-33185-403364762: SmartBonding Enabling is false, SHIP_BUILD is true, log to file is false, DBG is false
08-14 22:59:45.871  13249-13285/com.guile.occ I/System.out﹕ (HTTPLog)-Thread-33185-403364762: SMARTBONDING_FEATURE_ENABLED is true
08-14 22:59:45.871  13249-13285/com.guile.occ I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
08-14 22:59:45.881  13249-13285/com.guile.occ I/System.out﹕ KnoxVpnUidStorageknoxVpnSupported API value returned is false
08-14 22:59:45.891  13249-13249/com.guile.occ D/InjectionManager﹕ InjectionManager
08-14 22:59:45.891  13249-13249/com.guile.occ D/InjectionManager﹕ fillFeatureStoreMap com.guile.occ
08-14 22:59:45.901  13249-13249/com.guile.occ I/InjectionManager﹕ Constructor com.guile.occ, Feature store :{}
08-14 22:59:45.901  13249-13249/com.guile.occ I/InjectionManager﹕ featureStore :{}
08-14 22:59:45.911  13249-13249/com.guile.occ D/SecWifiDisplayUtil﹕ Metadata value : SecSettings2
08-14 22:59:45.911  13249-13249/com.guile.occ I/Timeline﹕ Timeline: Activity_launch_request id:com.guile.occ time:89486819
08-14 22:59:45.921  13249-13249/com.guile.occ D/Activity﹕ performCreate Call Injection manager
08-14 22:59:45.921  13249-13249/com.guile.occ I/InjectionManager﹕ dispatchOnViewCreated > Target : com.guile.occ.LoginActivity isFragment :false
08-14 22:59:45.941  13249-13249/com.guile.occ D/Activity﹕ performCreate Call Injection manager
08-14 22:59:45.961  13249-13249/com.guile.occ D/PhoneWindow﹕ *FMB* installDecor mIsFloating : false
08-14 22:59:45.961  13249-13249/com.guile.occ D/PhoneWindow﹕ *FMB* installDecor flags : -2139029248
08-14 22:59:45.991  13249-13249/com.guile.occ I/InjectionManager﹕ dispatchOnViewCreated > Target : com.parse.ui.ParseLoginActivity isFragment :false
08-14 22:59:46.001  13249-13249/com.guile.occ D/SecWifiDisplayUtil﹕ Metadata value : SecSettings2
08-14 22:59:46.001  13249-13319/com.guile.occ D/OpenGLRenderer﹕ Use EGL_SWAP_BEHAVIOR_PRESERVED: true
08-14 22:59:46.011  13249-13249/com.guile.occ D/PhoneWindow﹕ *FMB* isFloatingMenuEnabled mFloatingMenuBtn : null
08-14 22:59:46.011  13249-13249/com.guile.occ D/PhoneWindow﹕ *FMB* isFloatingMenuEnabled return false
08-14 22:59:46.031  13249-13249/com.guile.occ D/SRIB_DCS﹕ log_dcs ThreadedRenderer::initialize entered!
08-14 22:59:46.061  13249-13319/com.guile.occ D/libEGL﹕ loaded /vendor/lib64/egl/libGLES_mali.so
08-14 22:59:46.071  13249-13319/com.guile.occ I/OpenGLRenderer﹕ Initialized EGL, version 1.4
08-14 22:59:46.081  13249-13319/com.guile.occ I/OpenGLRenderer﹕ HWUI protection enabled for context ,  &this =0x7f7d8d6d60 ,&mEglDisplay = 1 , &mEglConfig = 2107732656
08-14 22:59:46.081  13249-13319/com.guile.occ D/OpenGLRenderer﹕ Get maximum texture size. GL_MAX_TEXTURE_SIZE is 8192
08-14 22:59:46.081  13249-13319/com.guile.occ D/OpenGLRenderer﹕ Enabling debug mode 0
08-14 22:59:46.081  13249-13319/com.guile.occ D/mali_winsys﹕ new_window_surface returns 0x3000,  [1440x2560]-format:1
08-14 22:59:46.191  13249-13249/com.guile.occ I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@ce0ed1c time:89487096
08-14 22:59:46.191  13249-13249/com.guile.occ I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@38cba1f0 time:89487096
08-14 22:59:58.291  13249-13249/com.guile.occ D/ViewRootImpl﹕ ViewPostImeInputStage ACTION_DOWN
08-14 22:59:58.401  13249-13249/com.guile.occ I/Timeline﹕ Timeline: Activity_launch_request id:com.guile.occ time:89499300
08-14 22:59:58.461  13249-13249/com.guile.occ D/PhoneWindow﹕ *FMB* installDecor mIsFloating : false
08-14 22:59:58.461  13249-13249/com.guile.occ D/PhoneWindow﹕ *FMB* installDecor flags : 8454400
08-14 22:59:58.461  13249-13249/com.guile.occ D/Activity﹕ performCreate Call Injection manager
08-14 22:59:58.471  13249-13249/com.guile.occ I/InjectionManager﹕ dispatchOnViewCreated > Target : com.facebook.FacebookActivity isFragment :false
08-14 22:59:58.481  13249-13249/com.guile.occ D/SecWifiDisplayUtil﹕ Metadata value : SecSettings2
08-14 22:59:58.491  13249-13249/com.guile.occ D/PhoneWindow﹕ *FMB* isFloatingMenuEnabled mFloatingMenuBtn : null
08-14 22:59:58.491  13249-13249/com.guile.occ D/PhoneWindow﹕ *FMB* isFloatingMenuEnabled return false
08-14 22:59:58.501  13249-13249/com.guile.occ D/SRIB_DCS﹕ log_dcs ThreadedRenderer::initialize entered!
08-14 22:59:58.501  13249-13319/com.guile.occ D/mali_winsys﹕ new_window_surface returns 0x3000,  [1440x2560]-format:1
08-14 22:59:58.541  13249-13249/com.guile.occ I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@5562ab1 time:89499446
08-14 22:59:58.541  13249-13249/com.guile.occ V/ActivityThread﹕ updateVisibility : ActivityRecord{2d7dbc2b token=android.os.BinderProxy@ce0ed1c {com.guile.occ/com.parse.ui.ParseLoginActivity}} show : true
08-14 22:59:58.691  13249-13457/com.guile.occ I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
08-14 22:59:58.911  13249-13249/com.guile.occ I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@ce0ed1c time:89499810
08-12 19:48:53.371  32227-32227/com.guile.occ E/ActivityThread﹕ Failed to find provider info for com.facebook.katana.provider.PlatformProvider
08-12 19:48:53.371  32227-32227/com.guile.occ E/ActivityThread﹕ Failed to find provider info for com.facebook.wakizashi.provider.
<uses-permission android:name="android.permission.SET_DEBUG_APP"/>