IOS:iBeacon 检测后可用的操作
Posted
技术标签:
【中文标题】IOS:iBeacon 检测后可用的操作【英文标题】:IOS: Available actions after iBeacon detection 【发布时间】:2015-06-11 01:06:28 【问题描述】:如果锁定 iPhone 检测到我的应用注册了 iBeacon 信号,我的应用能否在其约 5-10 秒的唤醒时间内:
-
联系我的网络服务器发送一些数据?
发送预定义的短信?
访问 iPhone 的当前 GPS 位置?
【问题讨论】:
developer.radiusnetworks.com/2013/11/13/… 文章来自2013年(ios7开始)。我不确定这些信息是否仍然有效。 【参考方案1】:是的,我可以确认您可以联系网络服务器并访问精确位置 (GPS),因为我通常在您提到的窗口中执行此操作。
我在 iOS 上发送 SMS 短信的经验较少,但我的基本理解是,您根本无法在 iOS 上以自动方式发送 SMS 消息,您只能将屏幕呈现给用户以启动发送。当您的应用不在前台时,我不相信您可以这样做。
但是,您可以发送显示在锁定屏幕上的本地通知。
【讨论】:
您知道锁定 android 手机而不是 iPhone 的答案吗?我的应用程序能否在显示通知之前联系网络服务器并访问当前 GPS 位置?谢谢! 当然,是的。使用锁定的 Android 设备做任何这些事情都没有问题。【参考方案2】:是的,应用程序可以在手机锁定时执行所有这些操作。
此外,如果您想在后台继续扫描和所有这些功能,您可以使用UIBackgroundTaskIdentifier
它将在后台继续扫描,直到检测到任何信标。一旦没有可用的信标,它就会在容忍时间结束时停止在后台扫描。
- (void)applicationDidEnterBackground:(UIApplication *)application
NSLog(@"=== DID ENTER BACKGROUND ===");
UIBackgroundTaskIdentifier bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^
NSLog(@"End of tolerate time. Application should be suspended now if we do not ask more 'tolerance'");
];
if (bgTask == UIBackgroundTaskInvalid)
NSLog(@"This application does not support background mode");
else
//if application supports background mode, we'll see this log.
NSLog(@"Application will continue to run in background");
【讨论】:
以上是关于IOS:iBeacon 检测后可用的操作的主要内容,如果未能解决你的问题,请参考以下文章