2012-03-06 63 views
0

我在想,是否有任何可能的方式直接從應用程序調用操作員命令?一些代碼,如:iOS:調用操作員命令

*149*124# 

,因爲我不能把這個命令

UIDevice *device = [UIDevice currentDevice]; 
    if ([[device model] isEqualToString:@"iPhone"]) { 
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"tel:*149*124# "]]]; 
    } 

有沒有API公開或非公開了這個問題?

+1

你意味着使用iPhone的手機應用程序?你可以使用'tel:'URL方案。 – 2012-03-06 14:10:08

+0

是的,但不起作用! – 2012-03-06 14:11:32

+0

你能確認'如果'成功嗎? – 2012-03-06 14:13:01

回答

0

試着改變你的代碼如下:

NSURL *URL = [NSURL URLWithString:@"tel:*149*124#"]; 
if ([[UIApplication sharedApplication] canOpenURL:URL]) 
{ 
    [[UIApplication sharedApplication] openURL:URL]; 
} 

注意,這不會在模擬器上,或者一個iPod/iPad的工作,因爲他們沒有手機的應用程序。

+0

不起作用 – 2012-03-06 14:23:25

+0

@ Mc.Lover你試圖運行這個設備的是什麼設備? – 2012-03-06 14:51:45

+0

iPhone 4 ........ – 2012-03-06 14:54:08

0

我只是測試這一點:

NSURL *URL = [NSURL URLWithString:@"tel://*149*124#"]; 
if ([[UIApplication sharedApplication] canOpenURL:URL]) 
{ 
    [[UIApplication sharedApplication] openURL:URL]; 
} 

,我看到這個在主辦方控制檯:

Mar 6 18:05:18 unknown SpringBoard[15] <Warning>: Ignoring unsafe request to open URL tel://*149*124# 

所以這被阻止出於安全考慮,這對我來說很有意義

+0

是否有任何私人API? – 2012-03-07 14:48:14

+0

對不起。我不關心私人API。有一個原因是他們是私人的。 – JeanLuc 2012-03-07 14:59:07