android - SSO (Singe Sign-On) not working when Facebook app is installed on device -


i developing android app integrates facebook. app works fine when set loginbutton.setloginbehavior(sessionloginbehavior.suppress_sso).

the problem arises when try use sso. error below. used similar error when used incorrect keyhash; not case anymore because webview log in works fine. event more surprising android app works if app installed in fb. example, app manager therefore gets installed in facebook profile default, when try fb account doesn't have app installed doesn't work. when attempt log in error below appears , dialog telling me basic permissions granted, in reality not basic permissions.

i have submitted app review in order shown on app center. when that, dialog shows checkbox acknowledge app uses sso. facebook need approve app before can use sso (if so, doesn't make sense)

i have spent hours trying solve this, , can't find solution. please help.

08-24 01:39:16.058: w/bundle(21880): key com.facebook.platform.protocol.protocol_version expected string value java.lang.integer.  default value <null> returned. 08-24 01:39:16.068: w/bundle(21880): attempt cast generated internal exception: 08-24 01:39:16.068: w/bundle(21880): java.lang.classcastexception: java.lang.integer cannot cast java.lang.string 08-24 01:39:16.068: w/bundle(21880):    @ android.os.bundle.getstring(bundle.java:1069) 08-24 01:39:16.068: w/bundle(21880):    @ android.content.intent.getstringextra(intent.java:4350) 08-24 01:39:16.068: w/bundle(21880):    @ com.facebook.authorizationclient$katanalogindialogauthhandler.tryauthorize(authorizationclient.java:821) 08-24 01:39:16.068: w/bundle(21880):    @ com.facebook.authorizationclient.trycurrenthandler(authorizationclient.java:272) 08-24 01:39:16.068: w/bundle(21880):    @ com.facebook.authorizationclient.trynexthandler(authorizationclient.java:238) 08-24 01:39:16.068: w/bundle(21880):    @ com.facebook.authorizationclient$gettokenauthhandler.gettokencompleted(authorizationclient.java:772) 08-24 01:39:16.068: w/bundle(21880):    @ com.facebook.authorizationclient$gettokenauthhandler$1.completed(authorizationclient.java:731) 08-24 01:39:16.068: w/bundle(21880):    @ com.facebook.internal.platformserviceclient.callback(platformserviceclient.java:144) 08-24 01:39:16.068: w/bundle(21880):    @ com.facebook.internal.platformserviceclient.handlemessage(platformserviceclient.java:128) 08-24 01:39:16.068: w/bundle(21880):    @ com.facebook.internal.platformserviceclient$1.handlemessage(platformserviceclient.java:54) 08-24 01:39:16.068: w/bundle(21880):    @ android.os.handler.dispatchmessage(handler.java:99) 08-24 01:39:16.068: w/bundle(21880):    @ android.os.looper.loop(looper.java:137) 08-24 01:39:16.068: w/bundle(21880):    @ android.app.activitythread.main(activitythread.java:5227) 08-24 01:39:16.068: w/bundle(21880):    @ java.lang.reflect.method.invokenative(native method) 08-24 01:39:16.068: w/bundle(21880):    @ java.lang.reflect.method.invoke(method.java:511) 08-24 01:39:16.068: w/bundle(21880):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:795) 08-24 01:39:16.068: w/bundle(21880):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:562) 08-24 01:39:16.068: w/bundle(21880):    @ dalvik.system.nativestart.main(native method) 

i had similar logcat output , found out related incorrectness in fb 3.5 source code. described above it´s on line 821 in authorizationclient.java. there should getintextra instead of getstringextra. download source github , change

intent.getstringextra(nativeprotocol.extra_protocol_version)); 

to

""+intent.getintextra(nativeprotocol.extra_protocol_version, 0)); 

Comments

Popular posts from this blog

java - Run a .jar on Heroku -

java - Jtable duplicate Rows -

validation - How to pass paramaters like unix into windows batch file -