南锋

南奔万里空,脱死锋镝余

java.lang.RuntimeException Failure delivering result ResultInfo{who=null,request=64206,result=-1}

今天在接入facebook第三方登录的时候,点击登录按钮,APP闪退,并报错
java.lang.RuntimeException Failure delivering result ResultInfo{who=null,request=64206,result=-1}

如下图:

问题出现的原因

PROP_TARGET_SDK_VERSION的版本设置不对,我之前设置为31,现在将版本改为30即可。
之前facebook登录是其他同事弄的,弄好后又给去掉了,现在我来重新接入。在接入的时候,没有太仔细看官方的开发文档,直接就用了他之前的代码。结果没有配置好正确的参数。
facebook_app_idfb_login_protocol_scheme以及 facebook_client_token 这三个参数的值没有改。

解决方法

配置好上面说的三个参数值就可以了。
具体方法:

  • 在andorid studio 中打开 /app/res/values/strings.xml 文件。
  • 添加名称为 facebook_app_idfb_login_protocol_scheme 以及 facebook_client_tokenstring 元素,并将值相应设置为应用编号客户端口令。获取方式下面说到。例如,如果您的应用编号为 1234,并且客户端口令为 56789,则您的代码格式如下所示:
    1
    2
    3
    <string name="facebook_app_id">1234</string>
    <string name="fb_login_protocol_scheme">fb1234</string>
    <string name="facebook_client_token">56789</string>
    仔细看,这里的fb_login_protocol_scheme其实就是在facebook_app_id前面加上fb即可,不要傻傻的到处找了。

获取方式

获取应用编号

打开你的facebook开发者后台,查看相应的应用,上面就有个应用编号,如下图:

获取客户端口令

在开发者后台,点击你所创建的应用,依次选择应用设置高级,在安全这一栏就可以看到客户端口令了,如下图:

配置好后就可以继续下一步了~

+