2011-11-07 32 views
0

如何通過代碼在我的應用程序打開位置服務,如果位置服務處於關閉狀態我希望它通過alertView我在alertview兩個按鈕,如果取消&設置 我點擊設置它需要去設備的設置是可能的?如何通過代碼打開位置服務

任何人都可以幫助我?

謝謝...........

回答

0

我不得不面對同樣的問題,但這在iOS下是​​不可行的。你必須檢查是否啓用定位服務:

[CLLocationManager locationServicesEnabled]; 

,如果沒有,要求用戶去設置來啓用它(通過例如一條AlertView)。

需要注意的是蘋果說:

locationServicesEnabled:起始位置的更新,以確定用戶是否爲當前設備啓用 位置服務之前,您應該檢查這個 方法的返回值。如果此方法 返回NO,並且始終開始位置更新,則核心位置 框架會提示用戶使用確認面板詢問是否應重新啓用 位置服務。

但這似乎只在您第一次檢查時才起作用。如果用戶拒絕,確認面板不再顯示。

您還可以檢查:

switch ([CLLocationManager authorizationStatus]) { 

     case kCLAuthorizationStatusDenied: 
     case kCLAuthorizationStatusRestricted: 
     case kCLAuthorizationStatusNotDetermined: 
    } 
+0

感謝奧利弗.....我之前嘗試過,但我需要打開位置服務 – Deepak

+0

@Deepak:不要失去時間,你不能。如果你真的想這樣做,你可以搜索未記錄的方法,但你的應用程序將被蘋果拒絕。 – Oliver

+0

我使用了上述** if([CLLocationManager locationServicesEnabled] == NO)** {// alertview} – Deepak

4

您無法在代碼中啓用位置服務。您只需調用該服務,iOS將代表您的應用程序向用戶尋求權限。

+0

感謝馬塞洛·託斯.....如何調用該服務??? – Deepak

相關問題