如何解决使用Facebook应用程序错误的Facebook身份验证
| 我按照这里的说明进行操作,并且在未安装Facebook App的情况下工作正常。当安装了官方的Facebook App时,在调用authorize
之后不会调用该回调函数,并且我不找回令牌。安装该应用程序后,将显示闪亮的登录屏幕(来自Facebook应用程序),否则,将显示Webview。
我进行了很多搜索,但是每个教程都说我应该使用链接页面中的示例。我想念什么?
// Facebook connect
public void facebookConnect(View v) {
/* CocktailflowTest AppID */
final Facebook facebook = new Facebook(\"134370943293463\");
facebook.authorize(this,new String[] { \"email\",\"offline_access\" },new DialogListener() {
@Override
public void onFacebookError(FacebookError e) {
e.getMessage();
}
@Override
public void onError(DialogError e) {
Toast.makeText(LaunchActivity.this,e.getMessage(),Toast.LENGTH_SHORT).show();
}
@Override
public void onComplete(Bundle values) {
mFBToken = facebook.getAccesstoken();
getPreferences(MODE_PRIVATE).edit().putString(Prefs.FACEBOOK_TOKEN,mFBToken).commit();
WebService service = new WebService();
WebServiceListener l = new LaunchWebserviceListener();
mDialog = ProgressDialog.show(LaunchActivity.this,\"\",\"Logging in...\");
mDialog.show();
service.connectWithFacebook(l,mFBToken);
}
@Override
public void onCancel() {
Log.i(TAG,\"Facebook connect was cancelled by user.\");
}
});
}
解决方法
您需要在Activity中覆盖onActivityResult方法:
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data) {
super.onActivityResult(requestCode,resultCode,data);
facebook.authorizeCallback(requestCode,data);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。