zoukankan      html  css  js  c++  java
  • 转 iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,appstore,拨打电话)

    在程序中调用系统自带的应用,比如我进入程序的时候,希望直接调用safar来打开一个网页,下面是一个简单的使用:
    - (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.
    Mail
    These URLs launch Mail and open the compose message controller:
    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 App Lookup.
    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=%@&note=%@&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];

    转 http://blog.csdn.net/yhawaii/article/details/7587355

  • 相关阅读:
    R语言:提取路径中的文件名字符串(basename函数)
    课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 0、学习目标
    numpy.squeeze()的用法
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 4、Logistic Regression with a Neural Network mindset
    Python numpy 中 keepdims 的含义
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 3、Python Basics with numpy (optional)
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 2、编程作业常见问题与答案(Programming Assignment FAQ)
    课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 0、学习目标
    课程一(Neural Networks and Deep Learning),第一周(Introduction to Deep Learning)—— 0、学习目标
    windows系统numpy的下载与安装教程
  • 原文地址:https://www.cnblogs.com/ygm900/p/3135154.html
Copyright © 2011-2022 走看看