zoukankan      html  css  js  c++  java
  • 利用openURL,在IOS应用中打开另外一个应用

    IOS中,实现一个应用启动另外一个应用,使用UIApplication的openURL:方法就可实现,这里以test跳到test02为例。(需要先创建这两个工程)

    注册自定义URL协议(在test中)

    首先被启动的应用需要向iPhone注册一个自定义URL协议。这是在info.plist文件进行的。

    1. 右键,选择“Add Row”

    2. Key值选择“URL types”

    3. 打开“Item 0″,然后为该key增加一个URL identifier。可以是任何值,但建议用“反域名”(例如 “com.fcplayer.test”)。

    4. 在“Item 0”下再加一行。

    5. 选择“URL Schemes” 作为Key。

    6. 输入你的URL协议名 (例如“test://” 应写做“test”)。如果有必要,你可以在这里加入多个协议。

    操作截图如下:

    访问自定义URL(在test02中)

    在主应用程序中通过访问自定义URL启动另外一个应用:(test已经安装,这段代码要写在另一个应用里面,比如test02)

    //放在需要的地方,调用即可
    NSURL * urlStr = [NSURL URLWithString:@"test://x=100"];//后面为参数
    if ([[UIApplication sharedApplication] canOpenURL:urlStr]) {
        NSLog(@"can go to test");
        [[UIApplication sharedApplication] openURL:urlStr];
    }else{
        NSLog(@"can not go to test!!!!!");
    }

    自定义处理URL(在test中)

    有些时候我们除了启动还需向另外一个应用发送参数,这是也可以通过自定义的URL来实现,如:

    test://

    test://com.company.test

    test://config=1&abar=2

    这时我们在被启动应用中就必须进行自定义处理,在delegate中实现该消息(Cocos2d加在AppDelegate中),例如:

    - (BOOL)application:(UIApplication *)applicationhandleOpenURL:(NSURL*)url { // Do something withthe url here }

    通常,我们会从参数中解析出URL以便在视图中显示或者存储到UserPreference。下面的例子把URL存储为User Preference的url变量中或者打印出来:

    -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
    {
        if (!url) {  return NO; }
        NSString *URLString = [url absoluteString];
        NSLog(@"%@",URLString);
        //[[NSUserDefaults standardUserDefaults] setObject:URLString forKey:@"url"];
        //[[NSUserDefaults standardUserDefaults] synchronize];
        return YES;
    }
  • 相关阅读:
    OGRE 3D 1.7 Beginner‘s Guide中文版 第一章
    一个人的成功取决于晚上的8点至10点--经典语录必读
    学历代表过去、能力代表现在、学习力代表未来
    理财达人五步走
    Ogre场景、节点、摄像机通过自动、鼠标、键盘控制移动
    QT按钮背景颜色设置及文字显示位置设置
    Qt一个工程调用另一个工程的类成员变量
    C++搜索字符串中的汉字
    Q窗口操作函数(窗口最大化,全屏,隐藏最大化最小化按钮)
    PAT(Advance Level)Practice1001
  • 原文地址:https://www.cnblogs.com/xiaoxiaoyublogs/p/5266432.html
Copyright © 2011-2022 走看看