iOS打开第三方应用
来源:互联网 发布:java工程师考试 编辑:程序博客网 时间:2024/05/16 18:05
打开第三方应用
每个程序都有一个UIApplication,它在程序中以单例的形式存在,如果再创建一个UIApplication会报错误提示,可以通过以下方法来获取程序的UIApplication
UIApplication *application = [UIApplication sharedApplication];
UIApplication可以通过 OpenURL 方法来调用第三方应用,先说一下获取系统的
// 调用邮件[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://"]]; // ://后面可不填
// 调用电话
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://07623269023"]]; // tel://后面要填上电话号码,这里会直接拨打
// 调用 SMS(短信)
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms://phoneNumber"]]; // ://后面填电话号码,将直接进入编辑页面
// 调用 Safari
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]]; // 填网址,将直接通过Safari打开
打开AppStore的相应页面
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"程序的相应链接”]];
接下来说如何打开手机内的其他应用
有些应用支持第三方应用打开,像微信、qq、支付宝;有些不支持,要看该应用是否注册了程序间的通信(这里不是官方名称),只有注册了的应用,其他应用才可以根据该应用注册的Schemes来打开相应的应用。哦对了,现在才想到如果两个应用的Schemes相同会如何,这个我没有测试,你们有兴趣可以测试分享一下
应用注册Schemes的步骤
1.在info.plist中添加URLtypes
2.添加item,点开item会发现自带了一个URL identifier,这里可以当做一个键,建议把内容填上程序的bundleID,使其唯一
3.在item上再添加一个URL Schemes,会发现这是一个array,意味着你可以在这里面继续添加schemes值,一开始URLSchemes就只有一个item,把Value填上一个特定值,如iosapp
4.那么现在这个应用就算注册成功了,不过还没完,需要先把它安装到模拟器或者真机上,不然你怎么打开- -
安装完毕,此时可新建一个工程,给一个btn点击方法,
NSLog(@"按钮点击事件");[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"iosapp://success"]];
这里UIApplication通过openURL将刚才注册了的应用,通过iosapp这个值打开了,别漏了://,后面的success是带过去的一个值,后面会说,可以自定义,可以不填
现在已经可以通过一个应用打开另外一个应用了,不过还有一些拓展
在能被打开的应用的appdelegate.m中,可以捕获被打开的事件,添加如下代码
//通过第三方应用打开本程序的时候执行
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL*)url{// 处理传递过来的参数,如上面的successNSString *text = [[url host] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; //这里是将url带的信息进行提取//这里可以进行弹窗或者其他操作return YES;
}

- iOS 打开第三方应用
- iOS打开第三方应用
- iOS--打开第三方应用
- ios开发 第三方应用打开模式
- iOS用第三方应用打开文件
- 打开第三方应用
- 打开第三方应用
- 打开第三方应用
- ios打开第三方应用的用法及一些URL
- iOS 微信打开第三方应用(微信跳转第三方app)(Universal Links)
- iOS 打开第三方导航
- iOS开发 - 应用内打开第三方应用并传值
- iOS开发 - 应用内打开第三方应用并传值
- iOS开发 - 应用内打开第三方应用并传值
- 微信打开第三方应用
- Android应用打开第三方软件
- Android 打开第三方应用的方法
- Android 第三方应用的打开
- <sdut-ACM> 1175C语言实验——分割整数
- 【HDU】5326 - Work(拓扑)
- ActiveMq学习资料:
- 迷你Dvd管理系统
- java回忆录—JDK、JRE、JVM之间的联系
- iOS打开第三方应用
- java-泛型
- UVALive 7503
- Log4j 日志
- Linux学习之MBR
- Linux 解压命令大全
- 莫比乌斯反演1001 BZOJ 2818 莫比乌斯反演例题
- nodejs,npm,grunt安装教程
- iOS初学--UILabel