java-为什么使用Facebook登录按钮在CallbackManager上调用onActivityResult()之后绝对没有任何反应?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-为什么使用Facebook登录按钮在CallbackManager上调用onActivityResult()之后绝对没有任何反应?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2122字,纯文字阅读大概需要4分钟。
内容图文
我一直在尝试找出解决方法,但没有成功.
这里的问题是单击登录按钮后,它会正常加载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 one rror(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活动和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应用程序密钥.
希望为此找到解决方案,非常感谢.
解决方法:
好吧,我现在知道了.这可能是错的
callbackManager.onActivityResult(resultCode, resultCode, data);
参见resultCode输入两次.您想要做的是:
callbackManager.onActivityResult(requestCode, resultCode, data);
内容总结
以上是互联网集市为您收集整理的java-为什么使用Facebook登录按钮在CallbackManager上调用onActivityResult()之后绝对没有任何反应?全部内容,希望文章能够帮你解决java-为什么使用Facebook登录按钮在CallbackManager上调用onActivityResult()之后绝对没有任何反应?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。