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;
    }
  • 相关阅读:
    mysql 函数 存储过程 事件(event) job 模板
    protobuf 无proto 解码 decode 语言 java python
    mitmproxy fiddler 抓包 填坑
    android adb 常用命令
    android机器人 模拟 踩坑过程
    RabbitMQ添加新用户并支持远程访问
    Windows下RabbitMQ安装及配置
    Java mybatis mysql 常用数据类型对应关系
    easyExcel 踩坑
    linux防火墙查看状态firewall、iptable
  • 原文地址:https://www.cnblogs.com/xiaoxiaoyublogs/p/5266432.html
Copyright © 2011-2022 走看看