-1

我想要什么:当我的应用程序进入后台并且用户打开任何其他应用程序时,应该通知我打开了其他一些应用程序。

我要怎么做: 在后台运行一个线程说2小时,这个线程将检查打开了其他应用程序。这并不总是发生,只有在满足某些条件时才会发生。

我如何努力实现这一目标:我正在使用

UIBackgroundTaskIdentifier & beginBackgroundTaskWithExpirationHandler

线程无休止地运行,但我认为它不是正确的方式,因为苹果建议它不应该这样做,线程在 10 分钟后被杀死,但是这个基金对我来说很好,我仍然想使用更安全的方式来实现这一点。

我还检查了后台模式和 ios 7.0 中可用的一些新模式,但仍然找不到用于实现此目的的模式 [对于特定的会话/条件,当应用程序进入后台并在那里停留 2 小时时,我收到通知说其他一些应用程序打开而不是主屏幕]。

任何想法如何实现这一点。只是想知道如何实现后台工作以接收打开其他应用程序的通知。

4

1 回答 1

0

1- (UIBackgroundTaskIdentifier)beginBackgroundTaskWithExpirationHandler:(void(^)(void))handler NS_AVAILABLE_IOS(4_0); 因此,大约 600 秒后,您的处理程序 Block 将被调用,因为您的应用程序将很快被杀死,在处理程序 Block 中,您可以再续订 600 秒, 'UIBackgroundTaskIdentifier & beginBackgroundTaskWithExpirationHandler' 依此类推……</p>

但这可能会耗尽电池,Apple 不喜欢它!

2-“...接收有关其他应用程序已打开的通知。” 我不认为苹果(iOS)会让任何应用程序这样做!

但是,如果“其他应用程序”是您控制的应用程序,那么:“将数据从一个应用程序传输到另一个应用程序的一种解决方案是通过 URL 方案”!

ios中的沙盒是什么,我可以在一个应用程序中将数据传输到iPhone中的另一个应用程序,如果可能的话如何

这将恢复所有 iOS 后台模式: http ://www.raywenderlich.com/29948/backgrounding-for-ios

于 2013-10-29T16:36:29.180 回答