2013-03-18 176 views
0

我想從iOS應用程序內部打開Goog​​le地圖應用程序。不能從另一個應用程序內啓動Google地圖應用程序

我使用這個代碼:

[[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]]; 

,但它不工作。誰能告訴我最新的問題?

+0

是在您的設備上安裝的應用程序? – 2013-03-18 05:24:14

回答

1

首先canOpenURL將不會打開一個應用程序。它只是檢查應用程序是否可以打開應用程序。改用openURL方法。

if([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]]) 
{ 
    [[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]]; 
} 

注:

對於使用URL方案打開第三方應用程序。它應該安裝在設備上。

canOpenURL:

返回應用程序是否可以打開一個給定的URL資源。

- (BOOL)canOpenURL:(NSURL *)url

參數

網址

A URL object that identifies a given resource. The URL’s scheme—possibly a custom scheme—identifies which application can 

處理的URL。

返回值

NO,如果沒有應用程序,其將接受的URL;否則, 返回YES。

討論

這種方法可以保證,如果的OpenURL:被調用,另一個 應用程序將被啓動來處理它。它並不保證 完整的URL有效。


的OpenURL

打開指定URL的資源。

- (BOOL)openURL:(NSURL *)url

參數

網址

An object representing a URL (Universal Resource Locator). UIKit supports the http:, https:, tel:, and mailto: schemes. 

返回值

YES如果位於由URL資源被成功打開; 否則否。

討論

的URL可以定位在相同或其他應用程序的資源。如果 資源是另一個應用程序,則調用此方法可能會導致 呼叫應用程序退出,因此可以啓動另一個應用程序。

您可以調用canOpenURL:在調用此函數之前,驗證 是否可以處理它。

請參考UIApplication Class

+0

謝謝..很多.. – user2174560 2013-03-18 05:36:53

+0

@ user2174560:隨着快樂:) – 2013-03-18 05:37:33

相關問題