iphone:如何在iPhone Ebook App中添加电子邮件功能
发布时间:2020-12-15 01:46:21 所属栏目:百科 来源:网络整理
导读:我正在开发iPhone电子书应用程序. 在我的应用中,书籍是使用HTML创建的. 在Index.html页面中,我必须发送电子邮件(发送)特定章节内容的电子邮件功能. 现在通过使用webview我显示index.html,并且我创建了UIActionSheet,它将显示Email按钮. 请建议我如何识别要发
我正在开发iPhone电子书应用程序.
在我的应用中,书籍是使用HTML创建的. 现在通过使用webview我显示index.html,并且我创建了UIActionSheet,它将显示Email按钮. 请建议我如何识别要发送的不同链接的索引 解决方法
即使您未在设备中配置电子邮件,下面的代码仍然有效.
这是代码: - (IBAction) sendEmail:(id)sender { Class mailClass = (NSClassFromString(@"MFMailComposeViewController")); if (mailClass != nil) { // We must always check whether the current device is configured for sending emails if ([mailClass canSendMail]) { [self displayComposerSheet]; } else { [self launchMailAppOnDevice]; } } else { [self launchMailAppOnDevice]; } } -(void)displayComposerSheet { MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; [picker setSubject:@"Hello from DShah!"]; NSArray *toRecipients = [NSArray arrayWithObject:@"first@example.com"]; NSArray *ccRecipients = [NSArray arrayWithObjects:@"second@example.com",@"third@example.com",nil]; NSArray *bccRecipients = [NSArray arrayWithObject:@"fourth@example.com"]; [picker setToRecipients:toRecipients]; [picker setCcRecipients:ccRecipients]; [picker setBccRecipients:bccRecipients]; NSString *path = [[NSBundle mainBundle] pathForResource:@"userdata" ofType:@"abc"]; NSFileManager *fileManager = [NSFileManager defaultManager]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.abc",@"userdata"]]; NSData *myData = [NSData dataWithContentsOfFile:fullPath]; [picker addAttachmentData:myData mimeType:@"csv" fileName:@"userdata.abc"]; NSString *emailBody = @"It is raining in sunny California!"; [picker setMessageBody:emailBody isHTML:NO]; [self presentModalViewController:picker animated:YES]; [picker release]; } -(void)launchMailAppOnDevice { NSString *recipients = @"mailto:first@example.com&subject=Hello from DShah!"; NSString *body = @"&body=It is cold in Winter!"; NSString *email = [NSString stringWithFormat:@"%@%@",recipients,body]; email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]]; } 然后实现Delegate方法如下…. - (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { switch (result) { case MFMailComposeResultCancelled: message = @"Result: canceled"; break; case MFMailComposeResultSaved: message = @"Result: saved"; break; case MFMailComposeResultSent: message = @"Result: sent"; break; case MFMailComposeResultFailed: message = @"Result: failed"; break; default: message = @"Result: not sent"; break; } UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Email Demo" message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil,nil]; [alert show]; [alert release]; [self dismissModalViewControllerAnimated:YES]; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |