0

我正在开发一个应用程序,我想通过Facebook登录。我所做的是:Android:通过Facebook用户身份验证用户登录定制应用程序

在启动画面后,登录屏幕上出现用户名和密码编辑文本。在点击脸书登录按钮进入凭证后,用户应该从背景中的脸书进行验证。如果用户被认证,则他直接进入下一个活动,否则应该弹出其他的吐司消息。

我做了一些代码的.java为:

public class LoginScreenActivity extends Activity { 
/** Global Variable Declaration. */ 
int nextMoveFlage = 0; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.login_layout); 
      // start Facebook Login 
    Session.openActiveSession(this, true, new Session.StatusCallback() { 
     // callback when session changes state 
     @Override 
     public void call(Session session, SessionState state,Exception exception) { 
      if (session.isOpened()) { 
       // make request to the /me API 
       Request.executeMeRequestAsync(session,new Request.GraphUserCallback() { 
        // callback after Graph API response with user object 
        @Override 
        public void onCompleted(GraphUser user,Response response) { 
         if (user != null) { 
          TextView welcome = (TextView) findViewById(R.id.textview_hello); 
          welcome.setText("Hello "+ user.getName() + "!"); 
          //Intent intent = new Intent(LoginScreenActivity.this,NextScreen.class); 
          //startActivity(intent); 
         } 
        } 
       }); 
      } 
     } 
    }); 
} 

    @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     Session.getActiveSession().onActivityResult(this, requestCode,resultCode, data); 
    } 
} 

我在脸书控制台还创建应用程序,并添加了所有的信息,例如密钥哈希,包名称等并复制应用id在我的String.XML文件中。

在应用程序ID的清单文件中添加元数据。

的问题是:

  1. 我无法登录,如何移动或在哪里写代码的意图后下一个活动移动。

  2. 脸部应用程序(SDK)是运行我的应用程序所必需的。如果任何一个人没有facebook SDK,那么解决方案是什么。

  3. 有些时候我得到了一个错误,因为remote_app_id与存储的ID不匹配但我从面书本控制台本身复制应用程序ID。

请指导我解决我的问题并提出宝贵的建议。

回答

1
  1. 你应该把意图开始在会话状态回调(下一个活动里面,如果(Session.isOpened())检查,在那里你当前正在执行一个“我”的请求。

  2. SDK是运行你的应用程序所必需的,但不是Facebook应用程序。SDK包含(和捆绑)与你的apk,Facebook应用程序是一个单独的apk,并不是必需的登录与Facebook的

  3. 如果您遇到该错误,这意味着您的设置中没有正确的密钥哈希。您是否使用不同的密钥库进行签名?

+0

谢谢您的建议。 –

相关问题