You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Olivier Louvignes (JIRA)" <ji...@apache.org> on 2012/07/31 00:01:36 UTC
[jira] [Reopened] (CB-1161) Javascript callbacks are broken in
1.9/2.0 after using runOnUIThread() (ie. Facebook SSO)
[ https://issues.apache.org/jira/browse/CB-1161?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Olivier Louvignes reopened CB-1161:
-----------------------------------
> Javascript callbacks are broken in 1.9/2.0 after using runOnUIThread() (ie. 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