i want integrate facebook signin in android app. using facebook-sdk-4.4.0. using loginmanager class method. facing problem on running following code-
facebooksdk.sdkinitialize(getapplicationcontext()); callbackmanager = callbackmanager.factory.create(); // set permissions loginmanager.getinstance().loginwithreadpermissions((activity)getcontext(), arrays.aslist("email", "public_profile")); loginmanager.getinstance().registercallback(callbackmanager, new facebookcallback<loginresult>() { @override public void onsuccess(loginresult loginresult) { graphrequest request = graphrequest.newmerequest( loginresult.getaccesstoken(), new graphrequest.graphjsonobjectcallback() { @override public void oncompleted(jsonobject userinfo, graphresponse graphresponse) { try { facebookclientcontroller.setuserid(userinfo.optstring(id)); facebookclientcontroller.setdisplayname(userinfo.optstring(name)); facebookclientcontroller.setemailaddress(userinfo.optstring(email)); jsonobject picjson = userinfo.getjsonobject(picture).getjsonobject("data"); facebookclientcontroller.setprofilepicurl(picjson.optstring("url")); log.d(logtag, "\nusername :" + facebookclientcontroller.getdisplayname()); log.d(logtag, "\nemail :" + facebookclientcontroller.getemailaddress()); log.d(logtag, "\nuserid :" + facebookclientcontroller.getuserid()); log.d(logtag, "\nprofilepicurl :" + facebookclientcontroller.getprofilepicurl()); } catch (jsonexception e) { log.d(logtag, "json error"); } } } ); bundle parameters = new bundle(); parameters.putstring(fields, fb_request_fields); request.setparameters(parameters); graphrequest.executebatchasync(request); toast.maketext(getcontext(), "login successful" + loginresult.tostring(), toast.length_short).show(); } @override public void oncancel() { log.d(logtag, "on cancel"); } @override public void onerror(facebookexception error) { log.d(logtag, error.tostring()); } }); } 
i getting left screen in app instead of right screen should come on running above code. can tell me can problem? logcat:
--------- beginning of /dev/log/main
i/apphost.android(10873): registered listener handling onactivityresult: com.example.office.docsui.common.signincontroller$5
--------- beginning of /dev/log/system
i/activitymanager( 449): start u0 {act=native_with_fallback cmp=com.example.office.powerworld/com.facebook.facebookactivity (has extras)} pid 10873
i/telemetrylifecyclestate(10873): activity pause start. activity:1099625720,pptactivity, appstate=3
i/activitymanager( 449): start u0 {act=native_with_fallback cmp=com.example.office.powerworld/com.facebook.facebookactivity (has extras)} pid 10873
i/telemetrylifecyclestate(10873): activity pause end. activity:1099625720,pptactivity, appstate=2
i/telemetrylifecyclestate(10873): activity created. activity:1107534680,com.facebook.facebookactivity
i/apphost.android(10873): onactivitystarted, foregroundactivitycount=1, meventsenabled= true, mresumeenabled=false
i/apphost.android(10873): not office activity::com.facebook.facebookactivity
i/telemetrylifecyclestate(10873): activity resume start. activity:1107534680,com.facebook.facebookactivity, appstate=2
i/telemetrylifecyclestate(10873): activity resume end. activity:1107534680,com.facebook.facebookactivity, appstate=3, suspensiontime=54215
i/telemetrylifecyclestate(10873): activity pause start. activity:1107534680,com.facebook.facebookactivity, appstate=3
i/telemetrylifecyclestate(10873): activity pause end. activity:1107534680,com.facebook.facebookactivity, appstate=2
i/telemetrylifecyclestate(10873): activity created. activity:1107673504,com.facebook.facebookactivity
d/dalvikvm(10873): gc_for_alloc freed 2064k, 20% free 8974k/11096k, paused 27ms, total 30ms
i/apphost.android(10873): onactivitystarted, foregroundactivitycount=1, meventsenabled= true, mresumeenabled=false
i/apphost.android(10873): not office activity::com.facebook.facebookactivity
i/telemetrylifecyclestate(10873): activity resume start. activity:1107673504,com.facebook.facebookactivity, appstate=2
i/telemetrylifecyclestate(10873): activity resume end. activity:1107673504,com.facebook.facebookactivity, appstate=3, suspensiontime=54303
d/mali_winsys(10873): new_window_surface returns 0x3000
d/mali_winsys(10873): new_window_surface returns 0x3000
d/mali_winsys(10873): new_window_surface returns 0x3000
d/mali_winsys(10873): new_window_surface returns 0x3000
i/keyboard.facilitator( 614): onfinishinput()
i/activitymanager( 449): displayed com.example.office.powerworld/com.facebook.facebookactivity: +346ms
i/activitymanager( 449): displayed com.example.office.powerworld/com.facebook.facebookactivity: +346ms
d/mali_winsys(10873): new_window_surface returns 0x3000
d/mali_winsys(10873): new_window_surface returns 0x3000
i/k2_uls (10873): 07/21/2015 17:24:38.293 pptdroid (0x2a79) 0x40066154 example powerworld apphost plm a2k0b medium pausehandleractivitylifecyclecallbacks:onactivitysaveinstancestate called
i/keyboard.facilitator( 614): onfinishinput()
w/inputmethodmanagerservice( 449): window focused, ignoring focus gain of: com.android.internal.view.iinputmethodclient$stub$proxy@4227f090 attribute=android.view.inputmethod.editorinfo@423ba3a8, token = android.os.binderproxy@41f633d8
try one
loginbutton loginbutton; callbackmanager callbackmanager; facebooksdk.sdkinitialize(getapplicationcontext()); callbackmanager = callbackmanager.factory.create(); loginbutton = (loginbutton) findviewbyid(r.id.login_button); loginbutton.setreadpermissions(arrays.aslist("public_profile", "user_friends", "email")); loginbutton.registercallback(callbackmanager, new facebookcallback<loginresult>() { @override public void onsuccess(loginresult loginresult) { profile profile = profile.getcurrentprofile(); profile.getprofilepictureuri(315, 315); graphrequest request = graphrequest.newmerequest(loginresult.getaccesstoken(), new graphrequest.graphjsonobjectcallback() { @override public void oncompleted(jsonobject object, graphresponse response) { log.v("loginactivity", response.tostring()); } }); bundle parameters = new bundle(); parameters.putstring("fields", "id,name,email"); request.setparameters(parameters); request.executeasync(); } @override public void oncancel() { } @override public void onerror(facebookexception e) { e.printstacktrace(); } }); and override below method
@override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); callbackmanager.onactivityresult(requestcode, resultcode, data); } and define in menifest
<activity android:name="com.facebook.facebookactivity" android:configchanges="keyboard|keyboardhidden|screenlayout|screensize|orientation" android:label="@string/app_name" android:theme="@android:style/theme.translucent.notitlebar"/>
Comments
Post a Comment