iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
2014-12-18 10:22
597 查看
在程序中调用系统自带的应用,比如我进入程序的时候,希望直接调用safar来打开一个网页,下面是一个简单的使用:
查看更多iPhone应用程序的调用和第三方应用程序的调用,可以在iPhone的URL方案查看。下面列举部分:
Apparently feed://
opens http://reader.mac.com in Safari.
It seems that
maps:// also opens up the Maps application.
You can specify a phone number, but apparently not a default text for your message:
The same restrictions apply as for phone URLs, regarding spaces, brackets and dashes.
Mail
These URLs launch Mail and open the compose message controller:
You can also provide more information, for a customized subject and body texts:
You might also omit some information:
For more complex body texts, you might want to use the CFURLCreateStringByAddingPercentEscapes() function, as explained above in this page.
It also works with this URL (which normally brings the Flash video player used by YouTube):
Lookup.
Create a new task:
Launch app and load either a KML source or a Google My Map:
ChatCo
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController" bundle:nil] autorelease]; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; //调用safar打开网页 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.cnblogs.com/foxmin"]]; ////调用app store (省略号后面加的是产品的id等一些参数) // [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.apple.com/app/……"]]; // [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/app/ "]]; ////调用电话 // [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://XXXXX"]]; ////调用SMS // [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://XXXXX"]]; ////调用Remote // [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"remote://XXX"]]; return YES; }
查看更多iPhone应用程序的调用和第三方应用程序的调用,可以在iPhone的URL方案查看。下面列举部分:
Apple iPhone Applications
Safari
Any URL starting with http:// which does not point to maps.google.com or www.youtube.com is sent to Safari:NSString *stringURL = @"http://wiki.akosma.com/"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
Apparently feed://
opens http://reader.mac.com in Safari.
Maps
URLs starting with http://maps.google.com open up the "Maps" application automatically:NSString *title = @"title"; float latitude = 35.4634; float longitude = 9.43425; int zoom = 13; NSString *stringURL = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@@%1.6f,%1.6f&z=%d", title, latitude, longitude, zoom]; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
It seems that
maps:// also opens up the Maps application.
Phone
The phone links start with "tel:" but must not contain spaces or brackets (it can contain dashes and "+" signs, though):NSMutableString *phone = [[@"+ 12 34 567 89 01" mutableCopy] autorelease]; [phone replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [phone length])]; [phone replaceOccurrencesOfString:@"(" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [phone length])]; [phone replaceOccurrencesOfString:@")" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [phone length])]; NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"tel:%@", phone]]; [[UIApplication sharedApplication] openURL:url];
SMS
To open the SMS application, just use the sms: protocol in your URL:NSString *stringURL = @"sms:"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
You can specify a phone number, but apparently not a default text for your message:
NSString *stringURL = @"sms:+12345678901"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
The same restrictions apply as for phone URLs, regarding spaces, brackets and dashes.
NSString *stringURL = @"mailto:test@example.com"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
You can also provide more information, for a customized subject and body texts:
NSString *subject = @"Message subject"; NSString *body = @"Message body"; NSString *address = @"test1@akosma.com"; NSString *cc = @"test2@akosma.com"; NSString *path = [NSString stringWithFormat:@"mailto:%@?cc=%@&subject=%@&body=%@", address, cc, subject, body]; NSURL *url = [NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; [[UIApplication sharedApplication] openURL:url];
You might also omit some information:
NSString *subject = @"Message subject"; NSString *path = [NSString stringWithFormat:@"mailto:?subject=%@", subject]; NSURL *url = [NSURL URLWithString:[path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; [[UIApplication sharedApplication] openURL:url];
For more complex body texts, you might want to use the CFURLCreateStringByAddingPercentEscapes() function, as explained above in this page.
YouTube
URLs starting with http://www.youtube.com open up the "YouTube" application automatically:NSString *stringURL = @"http://www.youtube.com/watch?v=WZH30T99MaM"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
It also works with this URL (which normally brings the Flash video player used by YouTube):
NSString *stringURL = @"http://www.youtube.com/v/WZH30T99MaM"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
iTunes
To open up iTunes, use this URL:NSString *stringURL = @"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?i=156093464&id=156093462&s=143441"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
App Store
Very similar to the iTunes URLs:NSString *stringURL = @"http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=294409923&mt=8"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
iBooks
(source: http://akos.ma/aqdr)NSString *stringURL = @"itms-books:"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
NSString *stringURL = @"itms-bookss:"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
Third Party Applications
Most URL schemes in this list come from AppLookup.
AirSharing
Launch the application:NSString *stringURL = @"airsharing://"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
Alocola
Launch the application:NSString *stringURL = @"alocola://"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
Appigo Notebook
Launch the application:NSString *stringURL = @"appigonotebook://"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
Appigo Todo
Launch the application:NSString *stringURL = @"appigotodo://"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
Create a new task:
NSString *template = @"appigotodo://com.example.xyzapp/import?name=%@¬e=%@&due-date=%@&priority=%@&repeat=%@"; NSString *name = @"Buy%20some%20milk"; NSString *note = @"Stop%20on%20the%20way%20home%20from%20work."; NSString *dueDate = @"2009-07-16"; NSString *priority = @"1"; NSString *repeat = @"101"; NSString *stringURL = [NSString stringWithFormat:template, name, note, dueDate, priority, repeat]; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
Duo
Launch the application and pre-populate the update field with your desired Tweet/Facebook update. Optional: Provide Duo with the custom URL and return path to your app to provide the user with a button to return to your app.NSString *appID = @"Your Apps Name"; NSString *updateInfo = @"The Tweet/Status Update"; NSString *returnScheme = @"Your Apps Return URL Scheme"; NSString *returnPath = @"Your/Apps/Return/Path"; NSString *baseURL = @"duoxx://updateFaceTwit?"; NSString *encodedUpdateInfo = [updateInfo stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]; NSString *urlString = [NSString stringWithFormat:@"%@BLappID=%@;BLupdateInfo=%@;BLreturnScheme=%@;BLreturnPath=%@", baseURL, appID, encodedUpdateInfo, returnScheme, returnPath]; NSURL *url = [NSURL URLWithString:urlString]; [[UIApplication sharedApplication] openURL:url];
The Cartographer
Launch app and add a placemark at given coordinate:NSString *title = @"Placemark title (optional)"; NSString *summary = @"Placemark description (optional)"; CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(123.0, 12.0); title = [(id)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)title, NULL, (CFStringRef)@";/?:@&=+$,", kCFStringEncodingUTF8) autorelease]; summary = [(id)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)summary, NULL, (CFStringRef)@";/?:@&=+$,", kCFStringEncodingUTF8) autorelease]; NSString *cartographerURL = [NSString stringWithFormat:@"cartographer://placemark?coordinate=%lf,%lf&title=%@&summary=%@", coordinate.latitude, coordinate.longitude, title, summary]; NSURL *url = [NSURL URLWithString:cartographerURL]; [[UIApplication sharedApplication] openURL:url];
Launch app and load either a KML source or a Google My Map:
NSString *sourceURL = @"http://...."; // e.g. http://maps.google.com/maps/ms?ie=UTF8&hl=en&msa=0&msid=208320711678395936256.00046bbcfdcd1f3ebf64b&z=5 // Optional: MKCoordinateRegion region = ...; sourceURL = [sourceURL stringByAppendingFormat:@"&ll=%lf,%lf&spn=%lf,%lf", region.center.latitude, region.center.longitude, region.span.latitudeDelta, region.span.longitudeDelta]; NSURL *url = [NSURL URLWithString:[sourceURL stringByReplacingOccurrencesOfString:@"http://" withString:@"cartographer://"]]; [[UIApplication sharedApplication] openURL:url];
ChatCo
NSString *stringURL = @"irc://irc.example.domain/roomName"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
NSString *stringURL = @"irc://irc.example.domain/Nickname@roomName"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
NSString *stringURL = @"irc://irc.example.domain/Nickname!Realname@roomName"; NSURL *url = [NSURL URLWithString:stringURL]; [[UIApplication sharedApplication] openURL:url];
相关文章推荐
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- 转 iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,AppStore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS 程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话等)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)
- ios应用中调用系统电话、浏览器、地图、邮件等 以及打开其他应用(如qq,msn)