Tecnologia do Blogger.
RSS

[androidbrasil-dev] Problema com login no facebook

Estou tentando fazer uma tela de login, para o usuário logar com o facebook, mas sempre dá prblema ao logar. Quando eu clico no botão de login, ele retorno o erro abaixo. Porém, quando eu abro o app novamente, ele disponibiliza o botão de sair, e aparece um dialog dizendo que está logado com minha conta.

Alguém me ajuda?

06-03 00:15:57.312: E/AndroidRuntime(19917): FATAL EXCEPTION: main

06-03 00:15:57.312: E/AndroidRuntime(19917): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=64206, result=-1, data=Intent { (has extras) }} to activity {br.com.appteste/br.com.appteste.LoginActivity}: java.lang.NullPointerException: Argument 'context' cannot be null
06-03 00:15:57.312: E/AndroidRuntime(19917): at android.app.ActivityThread.deliverResults(ActivityThread.java:2536)
06-03 00:15:57.312: E/AndroidRuntime(19917): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2578)
06-03 00:15:57.312: E/AndroidRuntime(19917): at android.app.ActivityThread.access$2000(ActivityThread.java:117)
06-03 00:15:57.312: E/AndroidRuntime(19917): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:965)
06-03 00:15:57.312: E/AndroidRuntime(19917): at android.os.Handler.dispatchMessage(Handler.java:99)
06-03 00:15:57.312: E/AndroidRuntime(19917): at android.os.Looper.loop(Looper.java:130)
06-03 00:15:57.312: E/AndroidRuntime(19917): at android.app.ActivityThread.main(ActivityThread.java:3687)
06-03 00:15:57.312: E/AndroidRuntime(19917): at java.lang.reflect.Method.invokeNative(Native Method)
06-03 00:15:57.312: E/AndroidRuntime(19917): at java.lang.reflect.Method.invoke(Method.java:507)
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
06-03 00:15:57.312: E/AndroidRuntime(19917): at dalvik.system.NativeStart.main(Native Method)
06-03 00:15:57.312: E/AndroidRuntime(19917): Caused by: java.lang.NullPointerException: Argument 'context' cannot be null
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.facebook.internal.Validate.notNull(Validate.java:67)
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.facebook.appevents.AppEventsLogger.<init>(AppEventsLogger.java:652)
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.facebook.appevents.AppEventsLogger.newLogger(AppEventsLogger.java:417)
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.facebook.login.LoginLogger.<init>(LoginLogger.java:67)
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.facebook.login.LoginManager.getLogger(LoginManager.java:397)
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.facebook.login.LoginManager.logCompleteLogin(LoginManager.java:415)
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:190)
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.facebook.login.LoginManager$1.onActivityResult(LoginManager.java:140)
06-03 00:15:57.312: E/AndroidRuntime(19917): at com.facebook.internal.CallbackManagerImpl.onActivityResult(CallbackManagerImpl.java:82)
06-03 00:15:57.312: E/AndroidRuntime(19917): at br.com.appteste.LoginActivity.onActivityResult(LoginActivity.java:120)
06-03 00:15:57.312: E/AndroidRuntime(19917): at android.app.Activity.dispatchActivityResult(Activity.java:3919)
06-03 00:15:57.312: E/AndroidRuntime(19917): at android.app.ActivityThread.deliverResults(ActivityThread.java:2532)
06-03 00:15:57.312: E/AndroidRuntime(19917): ... 11 more



public class LoginActivity extends FragmentActivity implements OnClickListener {

        private CallbackManager callbackManager;

        private LoginButton loginButton;

        @Override

        protected void onCreate(Bundle savedInstanceState) {


                super.onCreate(savedInstanceState);


                FacebookSdk.sdkInitialize(this.getApplicationContext());


                setContentView(R.layout.login);


                loginButton = (LoginButton) findViewById(R.id.login_button);


                loginButton.setOnClickListener(this);

        }

        @Override


        protected void onResume() {

                super.onResume();

                AppEventsLogger.activateApp(this);

        }

        @Override


        protected void onPause() {


                super.onPause();


                AppEventsLogger.deactivateApp(this);

        }

        @Override


        public void onClick(View v) {


                switch (v.getId()) {


                case R.id.login_button:


                        loginFacebook();


                        break;


                }




        }




        private void loginFacebook() {


               


                callbackManager = CallbackManager.Factory.create();


               


                LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("email","user_photos","public_profile"));




            LoginManager.getInstance().registerCallback(callbackManager,


                    new FacebookCallback<LoginResult>() {


                        @Override


                        public void onSuccess(LoginResult loginResult) {




                                Log.d(Constants.TAG,"On Succes");


                            GraphRequest.newMeRequest(


                                    loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {


                                        @Override


                                        public void onCompleted(JSONObject json, GraphResponse response) {


                                            if (response.getError() != null) {


                                                // handle error


                                                System.out.println("ERROR");


                                            } else {


                                                System.out.println("Success");


                                                try {




                                                    String jsonresult = String.valueOf(json);


                                                    System.out.println("JSON Result"+jsonresult);




                                                    String str_email = json.getString("email");


                                                    String str_id = json.getString("id");


                                                    String str_firstname = json.getString("first_name");


                                                    String str_lastname = json.getString("last_name");


                                                   


                                                    startActivity(new Intent(getApplicationContext(), MainActivity.class));


                                                   


                                                } catch (JSONException e) {


                                                    e.printStackTrace();


                                                }


                                            }


                                        }




                                    }).executeAsync();




                        }




                        @Override


                        public void onCancel() {


                            Log.d(Constants.TAG,"On cancel");


                        }




                        @Override


                        public void onError(FacebookException error) {


                            Log.d(Constants.TAG,error.toString());


                        }


            });


        }




        @Override


        protected void onActivityResult(int requestCode, int resultCode, Intent data) {


            super.onActivityResult(requestCode, resultCode, data);


            callbackManager.onActivityResult(requestCode, resultCode, data);


        }




}



--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário