我是IOS phonegap的新手。在我的应用程序中,我需要从我的应用程序发送邮件。因此,我正在使用“ mailto”功能,但工作正常,但问题是发送邮件后,它没有返回到我的应用程序,而是仅停留在邮件应用程序中。我该如何解决这个问题。

如果我使用下面的代码发送邮件而不是“ mailto”,如何单击按钮就可以将我的html / javascript链接到“ Mainviewcontroller.h”。以及如何将参数从javascript / html传递到“ Mainviewcontroller.h”类。

NSString *subject = @"Message subject";
NSString *body = @"Message body";
NSString *address = @"[email protected]";
NSString *cc = @"[email protected]";
NSString *path = [NSString stringWithFormat:@"mailto:%@?cc=%@&subject=%@&body=%@", address, cc, subject, body];
NSURL *url = [NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];


请提供一些建议或指导我一些好的教程来解决我的问题。

提前致谢..

最佳答案

如果不使用Objective C,则不能从JavaScript调用UIWebView方法。

您可以使用UIWebView来完成此操作,如下所示:

在您的JavaScript文件中:

...
 window.location.href = "doSomething;";
..


编辑:

在您的MainViewController.m中,您可以添加一个“伪” UIWebView,在MainViewController.m's viewDidload中是这样的:

 - (void)viewDidLoad{
        UIWebView *webView = [UIWebView alloc] init];
        webView.hidden = YES;
        webView.delegate = self;
       [sel.view addSubView:webView];

        // Know you should load the JavaScript witch contain the script.
        [webView loadHTMLString:...];
   }


放置MainViewController符合UIWebViewDelegate

现在在您的UIWebViewDelegateMainViewController.m)对象中:

 -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

    if ([request.URL.absoluteString isEqualToString:doSomething]) {
            // Here you can call what you want
            return NO;
        }
        return YES;
    }

关于javascript - 如何从html/javascript调用MainViewController.h方法? (iOS Phonegap),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20717114/

10-16 22:38