0

我目前正在 Sencha Touch 2 中为 Android OS 部署。

我在 app.json 文件中包含了“cordova-2.2.0.js”、“ChildBrowser.js”的路径

我正在使用 Chrome 浏览器在 Windows PC 上开发它,并使用 Sencha 工具和 phonegap build 部署到 android 设备。

我的示例代码是

window.plugins.childBrowser.openExternal(" http://www.google.com ");

我的 webkit 浏览器出现以下错误。

未捕获的类型错误:对象 # 没有方法 'exec'

在我的本机应用程序中,我没有得到任何回应。

请帮助...我包括我的 Main.js 文件

谢谢

Main.js 文件

Ext.define('Children.view.Main', {
extend: 'Ext.tab.Panel',
xtype: 'main',
requires: [
    'Ext.TitleBar',
    'Ext.Video'
],
config: {
    tabBarPosition: 'bottom',

    items: [
        {
            title: 'Welcome',
            iconCls: 'home',

            styleHtmlContent: true,

            items: [
                        {
                            xtype: 'button',
                            text: 'Open Google',
                            handler: function(button) {

                                         window.plugins.childBrowser.openExternal('http://www.google.com');
                            }
                        }

                    ]
        },
        {
            title: 'Get Started',
            iconCls: 'action',

            items: [
                {
                    docked: 'top',
                    xtype: 'titlebar',
                    title: 'Getting Started'
                },
                {
                    xtype: 'video',
                    url: 'http://av.vimeo.com/64284/137/87347327.mp4?token=1330978144_f9b698fea38cd408d52a2393240c896c',
                    posterUrl: 'http://b.vimeocdn.com/ts/261/062/261062119_640.jpg'
                }
            ]
        }
    ]
}

});

4

1 回答 1

0

这只是一个非常大的大问题:要做到这一点,您需要几个技术技能:javascript、sencha touch、java(适用于 Android 操作系统)和 phonegap 插件你会写一个 phonegap 插件吗?一个简短的收据,但我不包括 Java 代码,因为我需要您提供更多详细信息:

  • 在 res/xml 下的 config.xml 中放置您的插件配置(InfoP 是一个 Java 类):

  • 在您的 src 文件夹中添加 InfoPlugin.java;

  • 在 assets/www 下添加 infopl.js;(infopl.js 是调用 Java 插件的 javascript)

  • 在 index.html (例如)插件中:

在 webapp 中,您可以调用插件:

<script type="text/javascript">

  document.addEventListener('deviceready', function() {

      window.plugins.infoPl.getInfo(
           function(info) {

                alert(info);
           //( you can see what you log on console with ADB console log)
                console.log('MYINFO: '+info); 
           }, function() {
               console.log("fail");
           }
       );

  }, false );
</script>

在 Sencha 中使用(如果您使用具有 sencha touch 的 MVC 功能的控制器会更好):

  listeners: {
    tap:
     function() {
        alert('something');
    }

代替:

handler: function(button) {
  alert('something');

}

您建议您检查:

于 2013-04-29T17:07:40.430 回答