如何显示facebook Single Sign on的跳过按钮?

时间:2011-08-09 23:08:03

标签: android

我正在使用此方法允许用户在应用程序开始时登录到Facebook,如果他们想要的话。

package com.greatap;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.facebook.android.*;
import com.facebook.android.Facebook.*;

public class MyGreatActivity extends Activity {

Facebook facebook = new Facebook("YOUR_APP_ID");

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    facebook.authorize(this, new DialogListener() {
        @Override
        public void onComplete(Bundle values) {}

        @Override
        public void onFacebookError(FacebookError error) {}

        @Override
        public void onError(DialogError e) {}

        @Override
        public void onCancel() {}
    });
}

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

    facebook.authorizeCallback(requestCode, resultCode, data);
}

}

如果他们不想,那么只需按下跳过继续使用该应用程序而无需登录。我已在许多应用程序中看到过这一点。我在Facebook的开发者页面上看不到任何指示来实现这一点。 一些帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

Ok考虑您创建了一个对话框,其中包含两个按钮“登录”和“跳过”

移动这段代码:

    facebook.authorize(this, new DialogListener() {
        @Override
        public void onComplete(Bundle values) {}

        @Override
        public void onFacebookError(FacebookError error) {}

        @Override
        public void onError(DialogError e) {}

        @Override
        public void onCancel() {}
    });

到条件:

if(userPressedLoginAndNotSkip){
        facebook.authorize(this, new DialogListener() {
        @Override
        public void onComplete(Bundle values) {}

        @Override
        public void onFacebookError(FacebookError error) {}

        @Override
        public void onError(DialogError e) {}

        @Override
        public void onCancel() {}
    });
 }