gpt4 book ai didi

ios - 带有本地通知(如提醒)的地理位置

转载 作者:行者123 更新时间:2023-12-01 17:34:29 54 4
gpt4 key购买 nike

我想实现像应用提醒这样的地理位置通知。
这是我已经做过的:

在应用委托(delegate)中:

self.locationManager = [[[CLLocationManager alloc] init] autorelease]; /* don't leak memeory! */
[self.locationManager setDelegate:self];
[self.locationManager setDesiredAccuracy:kCLLocationAccuracyBest];

-(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{

}

-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
{

}

-(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{

}

而 View Controller 中的这个女巫开始监控:
CLLocationCoordinate2D location2D = mapView.region.center; 
CLRegion *regionForMonitoring = [[CLRegion alloc] initCircularRegionWithCenter:location2D radius:1 identifier:@"RegionIdentifier"];
[[Utils getLocationManager] startMonitoringForRegion:regionForMonitoring];

现在我不知道如何使用这些信息触发本地通知。

最佳答案

我可以告诉你,你的半径很可能太小而无法真正触发更新。您将半径设置为 1 米。除了测试您传入的坐标之外,这将需要一个几乎太精确的位置更新来注册。

假设您收到区域事件,我会将您的本地通知放在 -didEnterRegion-didExitRegion方法。您可以像@Missaq 所说的那样创建您的通知。

UILocalNotification *notification = [[UILocalNotification alloc] init]; 
notification.fireDate = [NSDate date];
NSTimeZone* timezone = [NSTimeZone defaultTimeZone];
notification.timeZone = timezone;
notification.alertBody = @"Notification message";
notification.alertAction = @"Show";
notification.soundName = UILocalNotificationDefaultSoundName;
[[UIApplication sharedApplication] scheduleLocalNotification:notification];
[notification release]; // release if not using ARC

请记住,如果您的应用程序处于事件状态,您将不会收到通知。如果您想看到通知触发,您必须处于后台模式。如果您的申请处于事件状态,您需要提交 UIAlertView而不是 UILocalNotification .希望这可以帮助。

关于ios - 带有本地通知(如提醒)的地理位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9063627/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com