zoukankan      html  css  js  c++  java
  • iphone程序启动互相调用, 打开其他程序

     
     在iphone程序打开其它程序(Launching Other Apps within an iPhone Application) 

    你可以使用openUrl打开一些程序,不只是浏览器,我们将在下面的例子中演示这些这些应用:

    • 打开浏览器
    • 打开google map
    • 打开email
    • 拨号程序
    • 发短信程序
    • 打开appstore
    Launch Google Maps

    到googlemap的URL格式是:

    http://maps.google.com/maps?q=${QUERY_STRING}

    你可以更改QUERY_STRING改变位置信息:

     
    NSString* searchQuery = @"the postion I want to know";
    searchQuery =  [searchQuery stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
      NSString* urlString = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@", searchQuery];   [[UIApplication sharedApplication] openURL:[NSURL URLWithString: urlString]];
    打开Apple Mail

    格式:

    mailto://${EMAIL_ADDRESS}

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://info@iphonedevelopertips.com"]];

    拨打电话(iPhone Only)

    格式:

    tel://${PHONE_NUMBER}

    1
    
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8004664411"]];

    发短信

    格式

    sms:${PHONENUMBER_OR_SHORTCODE}

    1
    
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:55555"]];

    打开app store

    打开appstore的程序位置,右键点击程序图标获取url

    格式如下:

    http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291586600&mt=8

    1
    2
    
    NSURL *appStoreUrl = [NSURL URLWithString:@"http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291586600&mt=8"];
    [[UIApplication sharedApplication] openURL:appStoreUrl];

    iphone程序启动互相调用

     

    如何点击一个程序调用起来另一个程序的方法
    调用程序A  被调用程序 B    
    A中要设置一些调用的信息

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {   

     [self performSelector:@selector(launchMe) withObject:nil afterDelay:0.0];

        [window makeKeyAndVisible];
     return YES;
    }


    - (void)launchMe
    {
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"abc://"]];

    }

    ************
    其中abc是被调用程序B的bundle id 如: com.yourcompany.abc     后面的://是必定要加的格式


    B中要修改plist文件的配置信息
    <key>CFBundleURLTypes</key>
     <array>
      <dict>
       <key>CFBundleURLName</key>
       <string>com.yourcompany.abc</string>
       <key>CFBundleURLSchemes</key>
       <array>
        <string>abc</string>
       </array>
      </dict>
     </array>

    如图所示  info配置截图

    检测iphone是否安装有某个程序,或者打开某个程序openURL CanOpenURL

     


    [问题描述]
    1:在程序B中检测手机中是否安装A程序.
    2:在程序B中打开应用程序A.

    [解决办法]
    步骤一:
    首先在程序A的plist中添加url types
    <key>CFBundleURLTypes</key>
    <array>
    <dict>
    <key>CFBundleURLName</key>
    <string>AAAAA</string>
    <key>CFBundleURLSchemes</key>
    <array>
    <string>testA</string>
    </array>
    </dict>
    </array>

    步骤二:
    在程序B中调用A程序的地方添加代码

    NSURL * myURL_APP_A = [NSURL URLWithString:@"testA://AAAAA"];
    if ([[UIApplication sharedApplication] canOpenURL:myURL_APP_A]) {
    NSLog(@"canOpenURL");
    [[UIApplication sharedApplication] openURL:myURL_APP_A];
    }


    在iPhone中,可以直接用UIApp打开URL地址。如下所示:

    [ UIApp openURL: [ NSURL URLWithString:@"http://www.apple.com" ] ];
    或者:

    [ UIApp openURL: [ NSURL URLWithString:@"mailto:apple@mac.com?Subject=hello" ] ];

    与此同时,iPhone还包含一些其他除了http://或者mailto:之外的URL:

    sms:// 可以调用短信程序

    tel:// 可以拨打电话

    itms:// 可以打开MobileStore.app

    audio-player-event:// 可以打开iPod

    audio-player-event://?uicmd=show-purchased-playlist 可以打开iPod播放列表

    video-player-event:// 可以打开iPod中的视频

  • 相关阅读:
    (原创)sqlite封装库SmartDB1.3发布
    合索引 与 单一列的索引
    Sql中CHARINDEX用法
    Eclipse 的快捷键以及文档注释、多行注释的快捷键
    JAVA 方法或者类的注释快捷键
    关于/r与/n 以及 /r/n 的区别总结
    c#中Split 分离字符以及空格消除方法
    C#生成Guid的几种方式
    MVC ViewBag和ViewData的使用
    软考之高级系统架构设计师(包含历年真题详解+课本教程+论文范文+视频教程)
  • 原文地址:https://www.cnblogs.com/chen1987lei/p/2453834.html
Copyright © 2011-2022 走看看