android - Application crashes when logging in using facebook or google account -
i have followed tutorial create aplication login using facebook , google using firebase."sign in email" button works fine, when try login using google or facebook application crashed.
here mainactivity
public class mainactivity extends appcompatactivity implements view.onclicklistener{ private static final int rc_sign_in=0; firebaseauth auth; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); firebaseauth auth=firebaseauth.getinstance(); if(auth.getcurrentuser()!=null) { log.d("auth",auth.getcurrentuser().getemail()); } else { startactivityforresult(authui.getinstance() .createsigninintentbuilder().setproviders( authui.facebook_provider, authui.google_provider, authui.email_provider ).build(), rc_sign_in); } findviewbyid(r.id.btnlogout).setonclicklistener(this); } @override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); if(requestcode==rc_sign_in) { if(resultcode==result_ok) { log.d("auth",auth.getcurrentuser().getemail()); } else { log.d("auth","not authenticated"); } } } @override public void onclick(view view) { if(view.getid()==r.id.btnlogout) { authui.getinstance().signout(this).addoncompletelistener(new oncompletelistener<void>() { @override public void oncomplete(@nonnull task<void> task) { log.d("auth","user logged out"); finish(); } }); } }
}
build.gradle(app) file
apply plugin: 'com.android.application' android { compilesdkversion 25 buildtoolsversion "25.0.2" defaultconfig { applicationid "com.example.ranjit.authenticate" minsdkversion 18 targetsdkversion 25 versioncode 1 versionname "1.0" testinstrumentationrunner "android.support.test.runner.androidjunitrunner" multidexenabled = true } buildtypes { release { minifyenabled false proguardfiles getdefaultproguardfile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile filetree(dir: 'libs', include: ['*.jar']) androidtestcompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.firebaseui:firebase-ui-auth:0.4.4' compile 'com.android.support:appcompat-v7:25.1.0' compile 'com.google.firebase:firebase-auth:10.0.1' compile 'com.google.android.gms:play-services-auth:10.0.1' testcompile 'junit:junit:4.12' } apply plugin: 'com.google.gms.google-services'
and below logcat application
08-21 03:09:24.419 23408-23408/com.example.ranjit.authenticate e/androidruntime: fatal exception: main process: com.example.ranjit.authenticate, pid: 23408 java.lang.runtimeexception: failure delivering result resultinfo{who=null, request=0, result=-1, data=intent { }} activity {com.example.ranjit.authenticate/com.example.ranjit.authenticate.mainactivity}: java.lang.nullpointerexception @ android.app.activitythread.deliverresults(activitythread.java:3532) @ android.app.activitythread.handlesendresult(activitythread.java:3575) @ android.app.activitythread.access$1300(activitythread.java:139) @ android.app.activitythread$h.handlemessage(activitythread.java:1341) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:149) @ android.app.activitythread.main(activitythread.java:5257) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:515) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:793) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:609) @ dalvik.system.nativestart.main(native method) caused by: java.lang.nullpointerexception @ com.example.ranjit.authenticate.mainactivity.onactivityresult(mainactivity.java:50) @ android.app.activity.dispatchactivityresult(activity.java:5603) @ android.app.activitythread.deliverresults(activitythread.java:3528) @ android.app.activitythread.handlesendresult(activitythread.java:3575) @ android.app.activitythread.access$1300(activitythread.java:139) @ android.app.activitythread$h.handlemessage(activitythread.java:1341) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:149) @ android.app.activitythread.main(activitythread.java:5257) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:515) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:793) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:609) @ dalvik.system.nativestart.main(native method)
08-21 03:09:30.779 23408-23421/com.example.ranjit.authenticate w/dynamitemodule: local module descriptor class com.google.firebase.auth not found.
you have null pointer exception in method. it's way access auth
log.d("auth",auth.getcurrentuser().getemail()
Comments
Post a Comment