如何在手机缺口中使用messageUI.framework?

时间:2013-12-23 15:06:25

标签: jquery iphone objective-c xcode cordova

嗨,我正在开发一个IOS phonegap应用程序。在这里,我需要从应用程序发送电子邮件,因此我使用messageUI.framework但我不知道如何实现它。

这是我的带有java脚本功能的html发送电子邮件按钮。

<input id="EMAIL" type="submit" onClick='gomail()' data-theme="b" value="Send E-mail"  data-mini="false">

function gomail()
       {
       alert("mail");
       }

这是我的MainControllerView.h

#import <Cordova/CDVViewController.h>
#import <MessageUI/MessageUI.h>

    @interface MainViewController : CDVViewController <MFMailComposeViewControllerDelegate>
   // how to invoke html button event here .... 

    @end

这是我的MainControllerView.m

- (IBAction)send:(id)sender {


    MFMailComposeViewController *mailComposer;
    mailComposer = [[MFMailComposeViewController alloc] init];
    mailComposer.mailComposeDelegate=self;

    NSArray *emailAddresses;
    emailAddresses=[[NSArray alloc]initWithObjects:@"test@gmail.com", nil];

    NSString *sendSubject = [[NSString alloc]initWithFormat:@"%@",self.latitude.text];
    NSString *sendMessage = [[NSString alloc]initWithFormat:@"%@",self.longitude.text];

    [mailComposer setToRecipients:emailAddresses];
    [mailComposer setSubject:sendSubject];
    [mailComposer setMessageBody:sendMessage isHTML: NO];
    [self presentModalViewController:mailComposer animated:YES];

}

- (void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{

    [self dismissModalViewControllerAnimated:YES];

}

这是发送电子邮件的代码。

我们如何从html链接到MainControllerView.h和MainControllerView.m?

请建议他们之间的联系。

请建议我从原生应用程序返回html5应用程序的方法。

提前致谢

1 个答案:

答案 0 :(得分:1)

我的建议是使用PhoneGap插件来帮助您完成此操作,您可以找到forked here基于EmailComposerWithAttachments插件的插件。它可以处理您正在寻找的所有内容,并且还可以在您决定使用该路径的同时添加轻松添加附件的功能。

编辑:添加了插件安装信息

添加插件

  1. 使用终端(对于mac)导航到您的项目文件夹
  2. 输入以下phonegap plugin add https://github.com/whodeee/email-composer
  3. 这会将插件添加到您的项目中
  4. 使用该插件,使用从上面的github链接引用的这个javascript方法window.plugins.emailComposer.showEmailComposerWithCallback(callback,subject,body,toRecipients,ccRecipients,bccRecipients,isHtml,attachments,attachmentsData);来调用它