0

尝试使用TorchPluging时出现以下错误:

 file:///android_asset/www/web/index.html: Line 12 : Uncaught TypeError: Cannot read property 'Torch' of undefined

我将插件添加到 config.xml (我认为在较新的 phonegap 版本中它已从 plugins.xml 更改为 config.xml?)

以下是我的整个 index.html

    <!DOCTYPE HTML>
<html>
    <head>
        <title>Flashlight</title>
        <script type="text/javascript" charset="utf-8" src="js/cordova-2.1.0.js"></script>
        <script type="text/javascript" charset="utf-8" src="js/jquery-1.8.2.min.js"></script>
        <script type="text/javascript" charset="utf-8" src="js/Torch.js"></script>
        <script type="text/javascript" charset="utf-8" src="js/bootstrap.min.js"></script>
        <script type="text/javascript">
            function turnTorchOn(){

                window.plugins.Torch.turnOn( 
                function() { console.log( "turnOn" ) }                          // success
                ,   function() { console.log( "error" ) });                           // error
            }
        </script>
    </head>
    <body>
        <button id="turnOnButton" name="turnOnButton" > Turn on Flashlight</button>
        <script>

            $('#turnOnButton').click(function(){
                alert("will turn on now");
                turnTorchOn();
                alert("called turnOn done");

            });
        </script>
    </body>
</html>
4

1 回答 1

2

实际上,将旧样式的插件更新为可在 2.0.0+ 中运行的插件并不难。您需要:

  1. 将 JS 修改为声明插件的新的 cordova.define() 样式。
  2. 在 Java 代码中从 com.phonegap.* 更新对 org.apache.cordova.* 的包引用。
  3. 确保您没有调用任何已弃用的 API。

我写了几篇涵盖该主题的博客文章。如果你关注他们更新 Torch 插件,你应该提交一个拉取请求,这样每个人都可以享受你的工作。

2.0.0 插件 - http://simonmacdonald.blogspot.ca/2012/08/so-you-wanna-write-phonegap-200-android.html 已弃用的 API - http://simonmacdonald.blogspot.ca/2012/07 /phonegap-android-plugins-sometimes-we.html

于 2012-10-24T14:31:20.530 回答