cordovajqmobiappframework

Load content doesn't work on Android 2.3.7 device


I have a mobile app developed using Intel's App Framework 2.0, App Framework MVC and Phonegap 3.2. When I tap on a link, MVC executes an action where I use the $.ui.loadContent function to show the next panel, but it doesn't seem to work properly on Android 2.3.7, because it only displays the mask that shows a "Loading Content" message, but the panel is not displayed. What could be the cause of this behavior, and how can I solve it, in order to show another panel?


Solution

  • Seems that the issue is not related to the $.ui.loadContent function, but to the routing. In some earlier versions of Android, and Google Chrome, when the link is put like this:

    <a href="/mycontroller/myaction/param1">Link</a>
    

    The webview/browser tries to open a local file (file:///path/to/app/mycontroller/myaction/param1), and AppFramework is not able to handle the route and execute the related action.

    An ugly, but useful solution, is to execute javascript to invoke the action:

    <a href="javascript:$.mvc.route('/mycontroller/myaction/param1');">Link</a>
    

    A more elegant but heavier solution in terms of performance, could be to rewrite all the routes of the links to invoke the javascript function on init.