Android Phonegap 3.3.0和Email Composer插件Uncaught TypeError

时间:2013-12-26 18:38:49

标签: javascript android cordova phonegap-plugins cordova-3

我通过命令行安装了phonegap 3.3.0,创建了app,添加了android平台OK。我可以使用最新的Android ADT导入phonegap应用并在我的Android设备上进行测试。一切都很完美。

我通过命令行

安装了Email Composer插件https://github.com/katzer/cordova-plugin-email-composer
cordova plugin add https://github.com/katzer/cordova-plugin-email-composer.git

插件似乎安装正常,但是当我尝试运行javascript代码时

window.plugin.email.open();

我收到了错误

Uncaught TypeError: Cannot call method 'open' of undefined:43

我将email_composer.js放在js文件夹中,在我的index.html中添加了对它的引用。不知道为什么我会收到此错误。

我已经在这里问作者https://github.com/katzer/cordova-plugin-email-composer/issues/9,他回答说:

You lead the plugin in the wrong way. Do not lead the plugins directly. 
If you install a plugin through the command line interface, 
they will be listed in the cordova_plugins.js file which is loaded 
by cordova.js.

我查看了文件cordova_plugins.js我只看到了这些代码:

cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [];
module.exports.metadata = 
// TOP OF METADATA
{}
// BOTTOM OF METADATA
});

我应该在这个文件中看到有关email_composer.js的内容,对吧?如果是这样,那么我应该写在这里。

这是我第一次使用phonegap插件,不知道该怎么做。希望有人可以提供帮助

由于

2 个答案:

答案 0 :(得分:1)

在安装任何新插件后,请务必记住“准备”您的应用。从应用程序的根目录:
    cordova prepare android
这应该更新你的cordova_plugins.js文件

答案 1 :(得分:0)

我发现了这个错误。如果我这样调用javascript,我会收到错误

window.plugin.email.open();

要使其有效,请按以下方式调用:

window.plugin.open();

(删除“电子邮件”)

希望这有助于某人