2
我目前使用CLLocationManager
來始終跟蹤地理圍欄,即使應用程序在後臺也是如此。當位置服務啓用/禁用時,我似乎無法找到一種方法來偵聽。iOS位置服務應用程序關閉時啓用/禁用事件
是否有可能偵聽位置服務啓用/禁用事件,或者當應用程序關閉時針對特定應用程序啓用/禁用位置?
請注意我正在使用Xamarin,但Objective-C代碼很好。
public class LocationManager
{
protected CLLocationManager locationManager;
public LocationManger()
{
this.locationManager = new CLLocationManger();
if (UIDevice.CurrentDevice.CheckSystemVersion(8, 0))
{
locationManager.RequestAlwaysAuthorization();
}
// ... get array of CLCircularRegion and start listening to each
// locationManager events...
locationManager.RegionEntered += (sender, e) => { /*stuff*/ };
locationManager.RegionLeft += (sender, e) => { /*stuff*/ };
locationManager.DidDetermineState += (sender, e) => { /*stuff*/ };
//locationaManager.SomeSortOfLocationServiceEnableDisableEvent += (sender, e) => { /*stuff*/ };
}
}
是的,但沒有告訴我何時位置服務發生變化。 –
我用處理授權狀態更改的委託方法更新了我的答案。這有幫助嗎? – Daniel
這似乎並不完美,但看起來它是iOS所能提供的最佳選擇。謝謝丹尼爾。傑瑞德,沒問題, –