PhoneGap Email Composer插件

时间:2011-02-21 17:46:10

标签: cordova jquery-mobile

我已经构建了一个简单的基于jQuery Mobile的应用程序,并尝试使用Phonegap进行编译。 我希望用户能够通过电子邮件从应用程序发送一些内容,但我无法弄明白。

我的代码:

<script type="text/javascript" src="json2.js"></script>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" src="EmailComposer.js"></script> 
<script src="js/jquery-1.5.min.js"></script>
<script src="js/jquery.mobile-1.0a3.min.js"></script>
<script src="js/jsStuff.js"></script>
<script type="text/javascript" charset="utf-8">

// Wait for PhoneGap to load
//
function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}

// PhoneGap is ready
//
function onDeviceReady() {
    // Empty
}

// alert dialog dismissed
function alertDismissed() {
    // do something
}

// Show a custom alert
//
function doEmail() {
    window.plugins.emailComposer.showEmailComposer("Subject","PlainTextBody", "recipient,recipient", "ccRecipient", "bccRecipient",false);
}
</script>

<link rel="stylesheet" href="style.css" /> 

然后:

<body onload="onLoad()"> 
<a href="#" onclick="doEmail(); return false;">Send email</a>

这一点都没有。

我做了什么:

  1. 下载了EmailComposer插件。
  2. EmailComposer.js移至我的应用的根目录(Phonegap项目 - &gt; www)。
  3. 已添加EmailComposer.h&amp;右键单击Xco​​de中的www文件夹,然后“添加” - &gt; EmailComposer.m到我的项目“现有文件...”(参考类型:默认,“将项目复制到目的地......”已选中)
  4. 通过右键单击项目的目标,将MessageUI.framework添加到我的项目中 - &gt; “获取信息”并将其添加到链接库。
  5. 任何帮助都将不胜感激。

7 个答案:

答案 0 :(得分:4)

好的,我知道这是一个旧线程,但看起来没有发布正确答案。对于未来可能偶然发现的读者:

您必须将EmailComposer插件添加到PhoneGap.plist文件中,在插件下添加左栏中带有“EmailComposer”的新行,右栏中添加“EmailComposer”。

答案 1 :(得分:2)

您必须将插件添加到PhoneGap.plist。

使用Key“EmailComposer”添加一个新条目,并将值“EmailComposer”添加到

答案 2 :(得分:1)

正如naugtur建议的那样,尝试一些故障排除技术,比如..如果你删除暂时那些自定义脚本,它会有效吗:jsStuff.js和json2.js?我知道在您的应用中可能需要它们,但它可以帮助您找到问题的根源。尝试在doEmail功能中发送控制台消息或警报。希望它有所帮助。

答案 3 :(得分:0)

似乎问题与我将插件文件添加到xCode项目的方式有关。如果您需要额外的详细信息:http://groups.google.com/group/phonegap/browse_thread/thread/6fd7d73d3532effd/4ae9daa0b746ceb5#4ae9daa0b746ceb5

答案 4 :(得分:0)

添加到PhoneGap.plist插件:键'com.phonegap.emailComposer'值'EmailComposer'。

答案 5 :(得分:0)

对于那些在尝试使用Email Composer工作时发现此问题的人,您不再需要向plist添加内容。新的CLI界面为您处理。

最新版本的Email Composer插件位于此处 - https://github.com/katzer/cordova-plugin-email-composer

将其添加到项目中的方法是在命令行中添加:cordova plugin add de.appplant.cordova.plugin.email-composer && cordova prepare

答案 6 :(得分:-1)

我认为您必须将其更改为<a href="javascript:doEmail()">Send Mail</a>,onclick不是iphone事件