Android 将此代码放在点击式侦听器中是否更合适?
这是启动facebook登录的源代码。(全部在主活动中,特别是在主活动的oncreate中)Android 将此代码放在点击式侦听器中是否更合适?,android,facebook,android-fragments,Android,Facebook,Android Fragments,这是启动facebook登录的源代码。(全部在主活动中,特别是在主活动的oncreate中) 我的问题是,在登录按钮的onclicklistener中调用openActiveSession是否有效。在活动初始化时启动facebook登录过程对我来说没有意义。是的,在onclicklistener中为登录按钮调用openActiveSession是有效的,但我为您提供了更好的方法。它在下面 在按钮单击事件中使用此代码 因为如果你调用openActiveSession,每次都会打开facebook登
我的问题是,在登录按钮的onclicklistener中调用openActiveSession是否有效。在活动初始化时启动facebook登录过程对我来说没有意义。是的,在onclicklistener中为登录按钮调用openActiveSession是有效的,但我为您提供了更好的方法。它在下面 在按钮单击事件中使用此代码 因为如果你调用openActiveSession,每次都会打开facebook登录对话框。但是,如果我们想检查用户是否已经登录,请使用以下方法
private void onClickFbLogin() {
Session session = Session.getActiveSession();
String[] permissions = { "email", "friends_birthday",
"friends_location", "offline_access", "publish_stream",
"user_photos", "publish_checkins", "photo_upload",
"read_stream" };
if (!session.isOpened() && !session.isClosed()) {
session.openForPublish(new Session.OpenRequest(this).setCallback(
statusCallback).setPermissions(permissions));
} else {
Session.openActiveSession(this, true, statusCallback);
}
}
我也看了文件,但你为什么要测试!session.isopend()&!session.isClosed()?此方法是否在onclicklistener中,但它必须是公共的才能这样做?
private void onClickFbLogin() {
Session session = Session.getActiveSession();
String[] permissions = { "email", "friends_birthday",
"friends_location", "offline_access", "publish_stream",
"user_photos", "publish_checkins", "photo_upload",
"read_stream" };
if (!session.isOpened() && !session.isClosed()) {
session.openForPublish(new Session.OpenRequest(this).setCallback(
statusCallback).setPermissions(permissions));
} else {
Session.openActiveSession(this, true, statusCallback);
}
}