今天在接入facebook第三方登录的时候,点击登录按钮,APP闪退,并报错java.lang.RuntimeException Failure delivering result ResultInfo{who=null,request=64206,result=-1}
如下图:
问题出现的原因
PROP_TARGET_SDK_VERSION
的版本设置不对,我之前设置为31,现在将版本改为30即可。
之前facebook登录是其他同事弄的,弄好后又给去掉了,现在我来重新接入。在接入的时候,没有太仔细看官方的开发文档,直接就用了他之前的代码。结果没有配置好正确的参数。
即facebook_app_id
、fb_login_protocol_scheme
以及 facebook_client_token
这三个参数的值没有改。
解决方法
配置好上面说的三个参数值就可以了。
具体方法:
- 在andorid studio 中打开
/app/res/values/strings.xml
文件。 - 添加名称为
facebook_app_id
、fb_login_protocol_scheme
以及facebook_client_token
的string
元素,并将值相应设置为应用编号和客户端口令。获取方式下面说到。例如,如果您的应用编号为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开发者后台,查看相应的应用,上面就有个应用编号,如下图:
获取客户端口令
在开发者后台,点击你所创建的应用,依次选择应用设置
,高级
,在安全
这一栏就可以看到客户端口令
了,如下图:
配置好后就可以继续下一步了~