ipad应用程序在后台打开浏览器

时间:2010-12-06 00:42:32

标签: objective-c cocoa-touch ipad background sms

我使用openURL命令发送短信,但它会打开Safari, 我可以发送命令,以便在后台打开吗?

即,用户不会看到浏览器打开或它给出的消息,并留在应用程序中,

NSURL *url = [NSURL URLWithString: @"https://smsgw.exetel.com.au/sendsms/api_sms.php?username=xxx&password=xx&mobilenumber=0xxx&message=xxr&sender=mk&messagetype=Text&referencenumber=04"];

[[UIApplication sharedApplication] openURL: url];

谢谢

2 个答案:

答案 0 :(得分:5)

您无法让Safari在后台为您打开网址。但是假设您只是想要请求URL并忽略任何返回的内容,您可以尝试:

NSURL *url = [NSURL urlWithString:@"...whatever..."];
NSURLRequest *request = [NSURLRequest requestWithURL:url delegate:nil];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request];
[connection start];

答案 1 :(得分:2)

您可以在应用内创建UIWebView,并在实例上调用loadRequest:,如下所示:

UIWebView *webView = [[UIWebView alloc] init];

webView.delegate = self;

NSURL *url = [NSURL URLWithString: @"https://smsgw.exetel.com.au/sendsms/api_sms.php?username=xxx&password=xx&mobilenumber=0xxx&message=xxr&sender=mk&messagetype=Text&referencenumber=04"];
NSUrlRequest *request = [[NSUrlRequest alloc] initWithURL:url];
[webView loadRequest:request];

这会在应用内加载网址,而不会将您转到Mobile Safari。此方法优于NSUrlConnection的好处是,如果您符合UIWebViewDelegate协议并在委托类中实现webViewDidFinishLoad:,则可以查看调用是否成功。