Objective c 在我的应用程序而不是邮件应用程序中打开邮件收件人链接
我已经在这里和网络上走遍了所有地方,但我所实现的一切都不起作用。我正在使用UIWebview构建一个iPhone应用程序,因为它最适合这个项目 我的目标是,当我点击mailto链接时,它将打开MFMailComposeViewController,而不是打开邮件应用程序。因为我已经尝试了所有我能找到的解决方案,我有两个想法Objective c 在我的应用程序而不是邮件应用程序中打开邮件收件人链接,objective-c,uiwebview,mfmailcomposeviewcontroller,mailto,Objective C,Uiwebview,Mfmailcomposeviewcontroller,Mailto,我已经在这里和网络上走遍了所有地方,但我所实现的一切都不起作用。我正在使用UIWebview构建一个iPhone应用程序,因为它最适合这个项目 我的目标是,当我点击mailto链接时,它将打开MFMailComposeViewController,而不是打开邮件应用程序。因为我已经尝试了所有我能找到的解决方案,我有两个想法 在iOS7中,这不再可能了吗?我无法想象这种情况,但我注意到,我在这方面找到的大多数想法和教程主要是几年前的 我是否可能设置了UIWebview和代理错误?我把一个链接到一个
不过,邮件应用程序中的所有内容仍处于打开状态。有什么想法吗?我想出来了。我没有正确设置webview委托。我想我的头文件中有。然后我在viewdidload方法中将委托设置为self,一切都正常
我以前试过,我想我键入了一些错误,因为我的文件无法加载。无论如何,现在一切都正常了。显示处理“mailto:”链接的相关代码。这是我处理mailto:链接的代码。我根据今天所做的更新了代码,并提供了更多详细信息。
<a href="inapp://javascript:void(0)" class="intruder"><img src="button.png" /></a>
- (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;
}