我正在开发一个我想通过 facebook 登录的应用程序。我所做的是:
在启动屏幕之后,会出现一个登录屏幕,上面有用户名和密码编辑文本。在单击 Facebook 登录按钮输入凭据后,用户应在后台从 Facebook 进行身份验证。如果用户通过身份验证,那么他直接进行下一个活动,否则应该弹出 toast 消息。
我在.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);
}
}
我还在我的 Facebook 控制台中创建了应用程序,并添加了所有信息,例如密钥哈希、包名称等。并将该应用程序 ID 复制到我的 String.XML 文件中。
在清单文件中添加了应用 ID 的元数据。
问题是:
我无法在登录后继续下一个活动,例如如何移动或在哪里编写意图代码。
面部应用 (SDK) 是运行我的应用所必需的吗?如果有人没有 facebook SDK,那么解决方案是什么。
有时我收到一个错误,因为remote_app_id 与存储的 id 不匹配但我从 Facebook 控制台本身复制了应用程序 id。
请指导我解决我的问题并提出宝贵的建议。