Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在facebook登录成功后启动新活动_Java_Android_Facebook - Fatal编程技术网

Java 在facebook登录成功后启动新活动

Java 在facebook登录成功后启动新活动,java,android,facebook,Java,Android,Facebook,我一直在尝试从facebook集成的成功登录尝试开始一个新活动,但是当登录pin后按下登录按钮时,它会返回到登录按钮所在的活动 我已经有了进入下一个活动的意图,但是它似乎对登录成功没有任何反应 这是我的代码(很抱歉我这么长时间都这么不整洁): }请尝试使用以下代码。我希望这将对您有所帮助,请使用CamelCase符号作为类名 public class Userlogin extends AppCompatActivity implements View.OnClickListener {

我一直在尝试从facebook集成的成功登录尝试开始一个新活动,但是当登录pin后按下登录按钮时,它会返回到登录按钮所在的活动

我已经有了进入下一个活动的意图,但是它似乎对登录成功没有任何反应

这是我的代码(很抱歉我这么长时间都这么不整洁):


}

请尝试使用以下代码。我希望这将对您有所帮助,请使用CamelCase符号作为类名

public class Userlogin extends AppCompatActivity implements View.OnClickListener {

        LoginButton btnFacebookLogin;
        CallbackManager callbackManager;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            FacebookSdk.sdkInitialize(getApplicationContext());
            setContentView(R.layout.activity_main);
            callbackManager = CallbackManager.Factory.create();
            setUI();
        }

        private void setUI() {


            btnFacebookLogin = (LoginButton) findViewById(R.id.btnFacebookLogin);

            btnFacebookLogin.setOnClickListener(this);
            btnFacebookLogin.setReadPermissions("email", "public_profile");

        }

        @Override
        public void onClick(View v) {
            switch (v.getId()) {

                case R.id.btnFacebookLogin:
                    facebookLogin();
            }
        }

        private void facebookLogin() {
    // Callback registration
            btnFacebookLogin.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {
                    // App code

                    final AccessToken accessToken = loginResult.getAccessToken();
                    GraphRequestAsyncTask request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
                        @Override
                        public void onCompleted(JSONObject user, GraphResponse graphResponse) {
                            LoginManager.getInstance().logOut();
                            username = (user.optString("name"));
                        }
                    }).executeAsync();


                    Toast.makeText(getApplicationContext(), "Login Success with facebook", Toast.LENGTH_SHORT).show();
                    startActivity(new Intent(Userlogin .this, AlertsandPlanning.class));


                }

                @Override
                public void onCancel() {
                    // App code
                }

                @Override
                public void onError(FacebookException exception) {
                    // App code
                }
            });

        }


        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            callbackManager.onActivityResult(requestCode, resultCode, data);
        }
public类Userlogin扩展了AppCompatActivity实现了View.OnClickListener{
登录按钮btnFacebookLogin;
CallbackManager CallbackManager;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
sdkinInitialize(getApplicationContext());
setContentView(R.layout.activity_main);
callbackManager=callbackManager.Factory.create();
setUI();
}
私有void setUI(){
btnFacebookLogin=(LoginButton)findViewById(R.id.btnFacebookLogin);
btnFacebookLogin.setOnClickListener(此);
btnFacebookLogin.setReadPermissions(“电子邮件”、“公共档案”);
}
@凌驾
公共void onClick(视图v){
开关(v.getId()){
案例R.id.btnFacebookLogin:
facebookLogin();
}
}
私有void facebookLogin(){
//回调注册
btnFacebookLogin.registerCallback(callbackManager,new FacebookCallback()){
@凌驾
成功时公共无效(LoginResult LoginResult){
//应用程序代码
final AccessToken AccessToken=loginResult.getAccessToken();
GraphRequestStatSyncTask请求=GraphRequest.NewMereRequest(accessToken,new GraphRequest.GraphJSONObjectCallback()){
@凌驾
未完成公共无效(JSONObject用户,GraphResponse GraphResponse){
LoginManager.getInstance().logOut();
用户名=(user.optString(“name”);
}
}).executeAsync();
Toast.makeText(getApplicationContext(),“使用facebook登录成功”,Toast.LENGTH_SHORT.show();
startActivity(新意图(Userlogin.this、AlertsandPlanning.class));
}
@凌驾
公开作废{
//应用程序代码
}
@凌驾
public void onError(facebook异常){
//应用程序代码
}
});
}
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
callbackManager.onActivityResult(请求代码、结果代码、数据);
}

您是否面临任何错误?。如果是,请在此处发布有助于解决问题并正确分析的日志。在发布之前,上述代码未遇到错误。我有一些错误,但在分析后已更正。到目前为止,我尝试了上述代码,并得到一个错误:由以下原因引起:java.lang.NullPointerException:Attempt在com.example.bluejohnson.partymagic.UserLogin.setUI(UserLogin.java:39)的com.example.bluejohnson.partymagic.UserLogin.setUI(UserLogin.java:39)上的空对象引用上调用虚拟方法“void com.facebook.login.widget.LoginButton.setOnClickListener(android.view.view$OnClickListener)”是否已在build.gradle文件中添加Facebook依赖项并删除username=(user.optString(“name”);我认为您正在为活动设置其他布局,而不是为此活动创建的布局,您应该正确设置。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import com.facebook.CallbackManager;
import com.facebook.login.widget.LoginButton;
import com.facebook.FacebookSdk;
import android.view.View;
import com.facebook.login.LoginResult;
import com.facebook.FacebookCallback;
import org.json.JSONObject;
import android.widget.Toast;
import com.facebook.AccessToken;
import com.facebook.login.LoginManager;
import com.facebook.GraphResponse;
import com.facebook.FacebookException;
import com.facebook.GraphRequest;
import com.facebook.GraphRequestAsyncTask;
    public class UserLogin extends AppCompatActivity implements View.OnClickListener {

LoginButton btnFacebookLogin;
CallbackManager callbackManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(getApplicationContext());
    setContentView(R.layout.activity_user_login);
    callbackManager = CallbackManager.Factory.create();
    setUI();
}

private void setUI() {


    btnFacebookLogin = (LoginButton) findViewById(R.id.FBLoginBtn);

    btnFacebookLogin.setOnClickListener(this);
    btnFacebookLogin.setReadPermissions("email", "public_profile");

}

@Override
public void onClick(View v) {
    switch (v.getId()) {

        case R.id.FBLoginBtn:
            facebookLogin();
    }
}

private void facebookLogin() {
    // Callback registration
    btnFacebookLogin.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            final AccessToken accessToken = loginResult.getAccessToken();
            GraphRequestAsyncTask request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(JSONObject user, GraphResponse graphResponse) {
                    LoginManager.getInstance().logOut();
                    String username = (user.optString("name"));
                }
            }).executeAsync();


            Toast.makeText(getApplicationContext(), "Login Success with facebook", Toast.LENGTH_SHORT).show();
            Intent startAlertsAndPlanning = new Intent(UserLogin.this, AlertsAndPlanning.class);
            startActivity(startAlertsAndPlanning);


        }

        @Override
        public void onCancel() {
            // App code
        }

        @Override
        public void onError(FacebookException exception) {
            // App code
        }
    });

}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
}
public class Userlogin extends AppCompatActivity implements View.OnClickListener {

        LoginButton btnFacebookLogin;
        CallbackManager callbackManager;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            FacebookSdk.sdkInitialize(getApplicationContext());
            setContentView(R.layout.activity_main);
            callbackManager = CallbackManager.Factory.create();
            setUI();
        }

        private void setUI() {


            btnFacebookLogin = (LoginButton) findViewById(R.id.btnFacebookLogin);

            btnFacebookLogin.setOnClickListener(this);
            btnFacebookLogin.setReadPermissions("email", "public_profile");

        }

        @Override
        public void onClick(View v) {
            switch (v.getId()) {

                case R.id.btnFacebookLogin:
                    facebookLogin();
            }
        }

        private void facebookLogin() {
    // Callback registration
            btnFacebookLogin.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
                @Override
                public void onSuccess(LoginResult loginResult) {
                    // App code

                    final AccessToken accessToken = loginResult.getAccessToken();
                    GraphRequestAsyncTask request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
                        @Override
                        public void onCompleted(JSONObject user, GraphResponse graphResponse) {
                            LoginManager.getInstance().logOut();
                            username = (user.optString("name"));
                        }
                    }).executeAsync();


                    Toast.makeText(getApplicationContext(), "Login Success with facebook", Toast.LENGTH_SHORT).show();
                    startActivity(new Intent(Userlogin .this, AlertsandPlanning.class));


                }

                @Override
                public void onCancel() {
                    // App code
                }

                @Override
                public void onError(FacebookException exception) {
                    // App code
                }
            });

        }


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