在我的应用程序内打开mailto链接而不是邮件应用程序
问题描述:
我已经走遍了这里和网络,没有我已经实施的工作。我正在使用UIWebview构建iPhone应用程序,因为它最适合此项目。在我的应用程序内打开mailto链接而不是邮件应用程序
我的目标是,当我点击一个mailto链接它将打开MFMailComposeViewController而不是打开邮件应用程序。因为我尝试了所有可以找到的解决方案,所以我有两个想法。
在iOS7中,这不再可能吗?我无法想象这种情况,但我注意到,我发现的大多数想法和教程主要来自几年前。
我可能设置了我的UIWebview并委托错了吗?如果是这种情况,我正在链接到屏幕截图。
任何帮助表示赞赏。我会分享所有我尝试过的东西的链接,但是我的评分还不够高,无法堆砌在链接上。
感谢您的帮助。
编辑
我仍然有这个问题摔跤。我以为我接近了,但仍然无法让这个工作。目标仍然是从UIWebview中调用MFMailComposeViewController。让我给一些更具体的细节。 1.我正在使用mailto表单。
我正在使用一个由锚标记包围的图像作为我的提交按钮与一些JavaScript,使其提交。
表单提交和邮件应用程序出现罚款。
-
我想也许我的问题是,这不是一个真正的mailto链接,所以我试了这个。 我的HTML
<a href="inapp://javascript:void(0)" class="intruder"><img src="button.png" /></a>
我ViewController.m代码
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if ([request.URL.scheme isEqualToString:@"inapp"]) {
if ([request.URL.host isEqualToString:@"javascript:void(0)"]) {
if ([MFMailComposeViewController canSendMail]) {
MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init];
mailer.mailComposeDelegate = self;
[mailer setToRecipients:[NSArray arrayWithObject:request.URL.resourceSpecifier]];
NSString *body = @"";
[mailer setMessageBody:body isHTML:NO];
[self presentModalViewController:mailer animated:YES];
}
return NO;
}
return YES;
}
}
一切还是在邮件应用中打开,但。有任何想法吗?
答
我想通了。我没有正确设置webview代理。我以为我在我的头文件中。然后我在我的viewdidload方法中将委托设置为self,并且一切正常。
我曾尝试过,我猜我输入错误,因为我的文件不会加载。反正现在所有东西都可以工作了。
显示处理“mailto:”链接的相关代码。 – rmaddy 2014-09-02 21:25:03
有我的处理mailto:链接的代码。 – user2936528 2014-09-02 22:34:26
我根据我今天所做的更新了我的代码,并提供了更多详细信息。 – user2936528 2014-09-03 20:26:18