[英]Why absolutely nothing happens after calling onActivityResult() on the CallbackManager using the Facebook Login Button?
我一直试图弄清楚如何解决这个问题但是没有成功。
这里的问题是在点击登录按钮后,它正常加载Facebook活动,当它完成时,我的活动收到活动结果并通知CallbackManager(所有文档中描述的)。
不幸的是,从这一点来看没有任何事情发生,注册的FacebookCallback没有执行任何方法,甚至没有记录一行来通知错误。
以下是涉及的文件:
public class LoginActivity extends Activity
CallbackManager callbackManager;
LoginButton loginFacebook;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this);
setContentView(R.layout.activity_login);
...
callbackManager = CallbackManager.Factory.create();
loginFacebook = (LoginButton) findViewById(R.id.login_button);
loginFacebook.setReadPermissions("public_profile","email");
loginFacebook.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
...
(This is never executed)
}
@Override
public void onCancel() {
...
(Not executed)
}
@Override
public void onError(FacebookException e) {
...
(Not executed either)
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(resultCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}
...
}
activity_login.xml包含这样的按钮
<com.facebook.login.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"/>
我还在我的android清单文件中添加了Facebook Activity和APP ID
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" />
以及facebook应用程序中的android app键。
希望找到解决方案,非常感谢。
好的,我现在看到了。 这可能是错的
callbackManager.onActivityResult(resultCode, resultCode, data);
请参阅resultCode
两次输入。 你想要做的是:
callbackManager.onActivityResult(requestCode, resultCode, data);
尝试在应用程序之间的manifest.xml中添加它
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /><activity
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.