【问题标题】:Open mailto links within my app Instead of Mail app在我的应用程序中打开 mailto 链接而不是邮件应用程序
【发布时间】:2014-09-02 20:45:20
【问题描述】:

我已经在这里和网络上走遍了,但我实现的一切都没有奏效。我正在使用 UIWebview 构建一个 iPhone 应用程序,因为它最适合这个项目。

我的目标是,当我点击 mailto 链接时,它将调出 MFMailComposeViewController 而不是打开 Mail 应用程序。因为我已经尝试了所有我能找到的解决方案,所以我有两个想法。

  1. 在 iOS7 中这不再可能吗?我无法想象会出现这种情况,但我注意到我在这方面找到的大多数想法和教程主要来自几年前。

  2. 我是否可能设置了我的 UIWebview 和委托错误?如果是这种情况,我将链接到屏幕截图。

感谢任何帮助。我会分享所有我尝试过的东西的链接,但我的评分还不够高,无法堆积在链接上。

感谢您的帮助。

Screenshot

编辑

我仍在努力解决这个问题。我以为我更接近了,但仍然无法使其正常工作。目标仍然是从 UIWebview 内部调用 MFMailComposeViewController。让我给出更多细节。 1. 我使用的是邮寄表格。

  1. 我正在使用一个由锚标记包围的图像作为我的提交按钮,并带有一些 javascript 来使其提交。

  2. 表单提交,邮件应用正常运行。

  3. 我想也许我的问题是这不是一个真正的 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;
}

}

不过,邮件应用程序中的所有内容仍处于打开状态。有什么想法吗?

【问题讨论】:

  • 显示您处理“mailto:”链接的相关代码。
  • 这是我处理mailto的代码:链接。
  • 我根据我今天所做的更新了我的代码并提供了更多细节。

标签: objective-c uiwebview mfmailcomposeviewcontroller mailto


【解决方案1】:

我想通了。我没有正确设置 webview 委托。我以为我的头文件中有。然后我在我的 viewdidload 方法中将委托设置为 self ,一切正常。

我之前尝试过,但我猜我输入了错误,因为我的文件无法加载。无论如何,现在一切正常。

【讨论】:

    猜你喜欢
    • 2015-08-02
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    • 2021-07-08
    • 1970-01-01
    • 2013-10-31
    相关资源
    最近更新 更多