zoukankan      html  css  js  c++  java
  • 如何在自己的应用中打开第三方应用程序

    //打开第三方应用

    - (IBAction)thirdPartyApplicationClick:(UIButton *)sender {

        NSString *url=@"mqq:";

        [self openUrl:url];

    }

    -(void)openUrl:(NSString *)urlStr

    {

         //注意url中包含协议名称,iOS根据协议确定调用哪个应用,例如发送邮件是“sms://”其中“//”可以省略写成“sms:”(其他协议也是如此)

        NSURL *url = [NSURL URLWithString:urlStr];

        UIApplication *application = [UIApplication sharedApplication];

        if (![application canOpenURL:url]) {

            NSLog(@"无法打开"%@",请保持此应用已经正确安装。",url);

            return;

        }

        [[UIApplication sharedApplication] openURL:url];

    }

    不难发现当openURL:方法只要指定一个URL Schame并且已经安装了对应的应用程序就可以打开此应用。当然,如果是自己开发的应用也可以调用openURL方法来打开。假设你现在开发了一个应用A,如果用户机器上已经安装了此应用,并且在应用B中希望能够直接打开A。那么首先需要确保应用A已经配置了Url Types,具体方法就是在plist文件中添加URL types节点并配置URL Schemas作为具体协议,配置URL identifier作为这个URL的唯一标识,如下图:

    iOSApplication_URLTypes

    /*IOS9使用URL scheme必须将其加入白名单

     修正方法是,Info.plist文件中添加一个key为LSAppliQueriesSchames的数组值,里面包含需要添加白名单的string类型的scheme.比如QQ为mqq 微信是weixin或者wechat

     */

  • 相关阅读:
    ThreadPoolExecutor的corePoolSize、maximumPoolSize和poolSize
    ThreadPoolExecutor线程池的一个面试题
    SpringBoot 集成Jedis操作set
    死磕JVM之类中各部分的加载顺序
    ThreadLocal为什么会内存泄漏
    有趣的RPC理解
    MQ如何解决消息的顺序性
    Collections.sort排序
    对象的内存分析
    类与对象的分析
  • 原文地址:https://www.cnblogs.com/lmg4819/p/4917278.html
Copyright © 2011-2022 走看看