我使用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];
谢谢
答案 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:
,则可以查看调用是否成功。