gpt4 book ai didi

java - Android FacebookAPI - newMeRequest 永远不会返回到 onCompleted

转载 作者:太空狗 更新时间:2023-10-29 15:07:56 26 4
gpt4 key购买 nike

我一开始是按照 facebook API for Android 教程开始的,但遇到了一个奇怪的问题。在 ICS 之前的设备上,代码可以正常工作并且 facebook 登录可以正常工作,但在较新的设备上不起作用,因为它永远不会返回到 onComplete。

private void fbAuthentication() {
Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Log.d("DEBUG", "Facebook user ID: " + user.getId());
}
mProgressDialog.dismiss();
}
}).executeAsync();
}
}
});
}

我从 facebook 教程中获得的初始代码使用的是已弃用的代码,所以我不知道为什么他们的官方开发者页面上会有这样的代码,但我已将其更改为如上所示的“newMeRequest”。

最佳答案

我已经在后 ICS 设备上运行此代码,没有任何问题。我认为你没有公开 session 。因为这个

if (session.isOpened())

该请求只会针对开放 session 发送。检查执行实际停止的位置

Session.openActiveSession(this, true, new Session.StatusCallback() {
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
Log.e("My Unique App TAG","The session is open. Sending newMeRequest");
Request.newMeRequest(session, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
Log.d("DEBUG", "Facebook user ID: " + user.getId());
}
mProgressDialog.dismiss();
}
}).executeAsync();
}
else{
Log.e("My Unique App TAG","Session is NOT open");
}
}
});

关于java - Android FacebookAPI - newMeRequest 永远不会返回到 onCompleted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20030158/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com