iOS:启动另外的APP并传递参数

iOS提供了一个Url scheme机制,使得APP之间可以通信,可以从一个APP启动另外的APP,并传递参数(如sms/mail)

但并非所有的APP都能够被启动,只有那些实现了Url scheme的APP才可以被启动。

基本的方法是:

创建一个NSURL对象(包含特定的内容格式)传递给UIApplication的openURL: 方法。openURL: 启动注册了该接收URL的APP并传递url,从而把控制权交给那个APP。

下面的代码简单说明了一个APP如何调用另外一个APP的服务,以及如何在URL中传递参数 (“todolist”是另外一个APP所注册的定制scheme):

NSURL *myURL = [NSURL URLWithString:@"todolist://www.acme.com?Quarterly%20Report#200806231300"];
[[UIApplication sharedApplication] openURL:myURL];

如果你的APP定义了一个定制URL scheme,那么应该实现一个scheme处理器,如这个链接所述 “Implementing Custom URL Schemes.”


关于Url scheme,这里有一篇入门指导:

http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-working-with-url-schemes/


另外还有一个查询即有APP URL sheme的网站:

http://applookup.com/Home


关于URL Scheme更详细的内容,可参考:

Apple URL Scheme Reference.


by iefreer

你可能感兴趣的:(ios,iPhone)