相关疑难解决方法(0)

Android Facebook SDK3.0,会话状态为OPENING

我正在尝试使用Facebook SDK 3.0在我的Android应用程序中按下按钮检索访问令牌.我的Activity中有一个通用按钮,它执行以下操作:

Button facebook = (Button)findViewById(R.id.facebookLoginButton);
    facebook.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Session session = new Session(getApplicationContext());
            Session.setActiveSession(session);
            session.openForRead(new Session.OpenRequest(SignInActivity.this).setCallback(statusCallback));
        }
    });
Run Code Online (Sandbox Code Playgroud)

然后是回调:

private class FacebookSessionStatusCallback implements Session.StatusCallback {
    @Override
    public void call(Session session, SessionState state, Exception exception) {
            String s=session.getAccessToken();
    }
}
Run Code Online (Sandbox Code Playgroud)

单击该按钮会提示我允许按预期访问我的配置文件,但此回调仅在SessionState为"打开"时调用一次.在此之后,国家不会改变.

我在这里错过了什么?我的最终目标实际上只是获取一次访问令牌,我并不真正关心持久化会话或使用它来登录我的应用程序.

android facebook

18
推荐指数
1
解决办法
1万
查看次数

if(session.isOpen()),facebook登录android总是返回false

我正在尝试在我的Android应用程序中实现一个简单的活动,其中要求用户通过Facebook登录,以便检索用户的"喜欢".所以很明显我首先通过Facebook测试一个简单的登录.我正在使用"Facebook SDK for Android入门"中的确切代码 - 步骤6(https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/)但由于某种原因,它不起作用.当我调试代码时,我意识到以下情况:

if(session.isOpen()) 
Run Code Online (Sandbox Code Playgroud)

即使我已经登录到Facebook,也总是返回false.我已经尝试了一切来修复它,但似乎没有任何工作.

有人有这个问题或知道如何解决它?

编辑:我正在手机上尝试这个测试而不是在模拟器上.我不知道这是不是一个问题.

提前致谢!

我确实试过这个解决方案session.isOpened()返回false,即使成功登录到Facebook但使用java 6或7仍然提供相同的哈希键.

编辑2:我也尝试了同样的事情,但方法略有不同.http://sonyarouje.com/2011/09/18/facebook-hash-key-for-android-apps/我仍然遇到同样的问题.该session.isOpen()方法总是返回false.

编辑3:这是我尝试过的最新代码.我不认为logcat中有任何错误.无论如何,我会把它链接到这里以防万一我错过了什么.

package com.example.danandroidapp;
import java.util.Arrays;

import com.facebook.FacebookException;
import com.facebook.Request;
import com.facebook.Response;
import com.facebook.Session;
import com.facebook.SessionState;
import com.facebook.model.GraphUser;
import com.facebook.widget.LoginButton;
import com.facebook.widget.LoginButton.OnErrorListener;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity {

    private String TAG = "MainActivity";
    private TextView lblEmail;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); …
Run Code Online (Sandbox Code Playgroud)

session android facebook login

13
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×2

facebook ×2

login ×1

session ×1