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 null06-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 null06-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.






0 comentários:
Postar um comentário