IBM Worklight - 无法访问原生Android功能

时间:2014-02-08 09:51:15

标签: cordova sencha-touch ibm-mobilefirst

我正在使用Sencha Touch 2.3.1。

我的问题是当我尝试访问任何原生的Android功能时(通过Cordova)。我试图使用InAppbrowser。但它失败了。但是当我使用其他方式构建.apk时,它的工作非常完美。

这是适合我的解决方案:

http://www.adobe.com/devnet/html5/articles/getting-started-with-phonegap-in-eclipse-for-android.html

所以,我认为问题是当Worklight访问cordova插件时。在IBM Worklight文档中,他们解释了Worklight内置了Cordova支持。但我不知道如何获得这些功能。

1 个答案:

答案 0 :(得分:0)

您使用Sencha Touch的事实完全无关紧要。

由于Cordova捆绑在Worklight应用程序中,因此要使用Cordova功能,您只需使用Cordova提供的API:http://cordova.apache.org/docs/en/3.1.0/index.html

在Worklight中使用Cordova时:

  • 无需检查“deviceReady”
  • 通常,大多数设置步骤,例如在AndroidManifest.xml和/或config.xml中的功能节点中添加权限已经为您完成,因此您无需执行任何操作,但这是per-Cordova功能并且< strong>您需要验证。

例如,如果要查看设备型号等,请使用Device API

  1. common\js\main.js中,在wlCommonInit()函数中放置以下代码:

    alert (
        'Device Model: ' + device.model + '<br />' +
        'Device Cordova: '  + device.cordova  + '<br />' +
        'Device Platform: ' + device.platform + '<br />' +
        'Device Version: '  + device.version);
    

    启动应用程序后,一旦加载,它将显示一个包含设备信息的警告对话框:型号,平台,操作系统版本以及使用过的Cordova版本。

  2. 对其他Cordova功能使用类似的方法。例如,InAppBrowser API

    1. common\js\main.js中,添加一个新功能:

      function useInAppBrowser() { 
          window.open('http://apache.org', '_blank', 'location=yes');
      }
      
    2. common\index.html中,添加BODY

       <input type="button" value="open in InAppBrowser"
      onclick="useInAppBrowser();"/>
      

      当您启动应用程序时,只需点击按钮,InAppBrowser即可查看并加载apache.org。


    3. 阅读以下培训模块: