ImageView connect = (ImageView) findViewById(R.id.fconnect);
connect.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
facebook.authorize(SignIn.this, new String[] {"offline_access", "email", "read_friendlists","publish_stream" },new DialogListener() {
@Override
public void onComplete(Bundle values) {
String AccessToken = facebook.getAccessToken();
LoginDirect = "Loading Home....";
LoginProcessChkUserStatus();
}
@Override
public void onFacebookError(FacebookError error) {
}
@Override
public void onError(DialogError e) {
}
@Override
public void onCancel() {
}
});
}else{
progress = true;
LoginProcessChkUserStatus();
}
}
});
这个facebook api ....我用于在我的应用程序中加载...这工作正常...当我点击登录按钮...授权后进入完整阶段...现在问题来了当我在Facebook SDK中安装了我的手机中的Facebook.apk ....视图就变成了这个....当我点击登录按钮时,它永远不会占用上面的代码....我该怎么做......? ??
答案 0 :(得分:3)
当我将facebook与我的应用程序集成时,我也遇到了类似的问题。当我点击我的应用程序中的Facebook图标本地Facebook应用程序启动时,当我卸载该原生的Facebook应用程序都正常工作。我找到了通过以下方法克服此问题的方法,并将其发布在stackoverflow上的下方链接:"An error's occurred" when authenticating with Facebook's android sdk。实际上我的问题是,当我使用调试密钥时,我输入的Key Hash值在facebook app寄存器中是错误的。当我根据我在上面链接中发布的内容更正密钥哈希时,我的问题就解决了。请试一试。
答案 1 :(得分:2)
更换屏幕是正常的。如果您安装了Facebook应用程序,SDK会使用它来登录。如果没有,它会使用WebView进行身份验证(如第一个屏幕截图所示)。
为什么这不起作用? Facebook应用程序使用来自Androids活动机制的结果代码。 我在你的代码中看不到onActivityResult()。确保在您的活动中实施该功能。它应该是这样的:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
之后,您的代码应按预期工作。 :)