[ https://issues.apache.org/jira/browse/CB-1161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13424891#comment-13424891 ]
Olivier Louvignes commented on CB-1161: --------------------------------------- After more testing with legacy 1.8.1 I can confirm that this worked before : {code:java} final FacebookConnect me = this; this.authorizeDialogListener = new AuthorizeDialogListener(me, callbackId); this.ctx.setActivityResultCallback(this); Runnable runnable = new Runnable() { public void run() { me.getFacebook().authorize((Activity)me.ctx, permissions, me.authorizeDialogListener); }; }; this.ctx.runOnUiThread(runnable); {code} So somehow this is an issue about how this.ctx has turned to this.cordova in 1.9+ > Javascript callbacks are broken after using runOnUIThread() with Facebook SSO > ----------------------------------------------------------------------------- > > Key: CB-1161 > URL: https://issues.apache.org/jira/browse/CB-1161 > Project: Apache Cordova > Issue Type: Bug > Components: Android > Affects Versions: 2.0.0 > Reporter: Olivier Louvignes > Assignee: Joe Bowser > Labels: android, plugin > > I've been working on a alternative post-2.0 FacebookConnect plugin that would > not require the javascript SDK (check there : > https://github.com/mgcrea/cordova-facebook-connect). But I'm stuck after the > AuthorizeDialog returns, calls to success() or sendJavascript() does not work > anymore. > So I'm not sure if I just missed something or if something broke in 1.9 / 2.0 > on this. > The source code can be found there : > https://github.com/mgcrea/cordova-facebook-connect/blob/master/Android/src/org/apache/cordova/plugins/FacebookConnect.java > You can check the login function where the JS call is made : > {code:java} > final FacebookConnect me = this; > this.authorizeDialogListener = new > AuthorizeDialogListener(me, callbackId); > this.cordova.setActivityResultCallback(this); > Runnable runnable = new Runnable() { > public void run() { > > me.getFacebook().authorize(me.cordova.getActivity(), permissions, > me.authorizeDialogListener); > }; > }; > this.cordova.getActivity().runOnUiThread(runnable); > {code} > When onActivityResult returns, JS is off :( > {code:java} > @Override > public void onActivityResult(int requestCode, int resultCode, Intent > data) { > super.onActivityResult(requestCode, resultCode, data); > this.getFacebook().authorizeCallback(requestCode, resultCode, > data); > //this.webView.sendJavascript("window.alert('test')"); //@todo > not working :( > } > {code} > Would love to get some feedback on this as I'm clearly not goog enough in > Java dev to fully understand what happens there. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira