如何在android上登录facebook
我已经尝试了教程,我能够成功登录。此代码提供了一个用于登录的对话框。但我想把它作为一项活动。因为我也必须从这个活动中执行其他任务。比如在成功登录后新活动开始时,在facebook的前一个状态下再次返回到上一个(facebook)活动。请帮帮我。如何在android上登录facebook,android,facebook,user-interface,Android,Facebook,User Interface,我已经尝试了教程,我能够成功登录。此代码提供了一个用于登录的对话框。但我想把它作为一项活动。因为我也必须从这个活动中执行其他任务。比如在成功登录后新活动开始时,在facebook的前一个状态下再次返回到上一个(facebook)活动。请帮帮我。 谢谢该对话框仅为用户登录Facebook而创建。一旦他们这样做了,它将返回到原来的活动。这就是你想要的,对吗 假设你想在facebook上发布一条消息 try { Log.d(TAG, "postToFaceBook()");
谢谢该对话框仅为用户登录Facebook而创建。一旦他们这样做了,它将返回到原来的活动。这就是你想要的,对吗 假设你想在facebook上发布一条消息
try {
Log.d(TAG, "postToFaceBook()");
if (facebook == null) {
facebook = new Facebook(API);
String access_token = prefs.getFBAccesTocken();
long expires = prefs.getFBExpiry();
if (access_token != null) {
facebook.setAccessToken(access_token);
}
if (expires != 0) {
facebook.setAccessExpires(expires);
}
}
if (facebook.isSessionValid()) {
Log.d(TAG, "Session is valid");
facebook.extendAccessTokenIfNeeded(this, null);
postToFacebook();
} else {
Log.d(TAG, "not valid");
// Using SSO OAuth
// facebook.authorize(this, new String[] { "publish_stream"
// },new LoginDialogListener());
// Not using SSO
facebook.authorize(this, new String[] { "publish_stream" },
Facebook.FORCE_DIALOG_AUTH, new LoginDialogListener());
}
} catch (NullPointerException e) {
Log.e(TAG, "An error occurd trying to open facebook app");
如果用户过去登录过facebook,并且有一个有效的会话,那么它将直接发布到facebook。如果没有有效的会话,它将打开对话框并尝试登录
LoginDialogListener()响应此消息的响应
public class LoginDialogListener extends BaseDialogListener {
@Override
public void onComplete(Bundle values) {
Log.d(TAG, "Login response recieved");
prefs.saveToken(facebook.getAccessToken());
prefs.saveExpiry(facebook.getAccessExpires());
facebook.extendAccessTokenIfNeeded(MyActivity.this, null);
Log.d(TAG, "Logged in ");
postToFacebook();
}
}
另一个选择是使用SSO(我在示例代码中已经注释掉了它)。谢谢Danwms,事实上我对android还不熟悉。在哪里使用此代码??在未完成的方法中???facebook的登录对话框。我已经在onCompleted方法中使用intent启动了新的活动,当我单击back按钮时,我想转到facebook对话框进行注销和其他用途,而不是主活动。