我是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
现在在您的
UIWebViewDelegate
(MainViewController.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/