关于Intents和后台操作的Android和iOS之间的差异

时间:2014-08-18 10:31:35

标签: android ios bluetooth wifi

对于我当前的项目,我试图找出Android和iOS之间的差异。我只掌握Android知识,完全不了解iOS。 我想知道的是:

我非常感谢答案以及关于这些问题的进一步文献!

2 个答案:

答案 0 :(得分:1)

您可以使用Reachability的实现来获取有关Wifi连接的通知,但请记住,这些不会唤醒您的应用。

您可以使用Core Bluetooth查找连接事件。再次,这些不会唤醒您的应用程序。我相信你可以设置一个CBCentralManager代表来了解这一点。查看文档here

但是,你说你还需要解决后台执行问题以保持你的应用程序清醒是正确的。为此,您需要实际使后台执行对用户有用的功能,否则Apple将不会批准您的应用。以下是您的一些选择。

如果您的应用具有实际的蓝牙功能,您可以使用其中一种模式(蓝牙中央和蓝牙外设)。

如果您有保证背景音频的功能,可以使用this

如果您有一个保证背景位置的功能,您可以使用CLLocationManager startUpdatingLocation(但这会耗尽一些严重的电池)

您可能还可以设置一个系统来阻止静默远程通知,然后使用远程通知后台模式。这是为了下载内容

另请注意,用户可以随时基本上禁用所有这些内容。

祝你好运!

答案 1 :(得分:0)

我不确定这是否会直接回答您的问题,但可能会有所帮助。我知道在Android中你可以通过Intent切换活动。在iOS中,为了切换到另一个UIViewController(iOS相当于活动),您将执行segue。在prepareForSegue方法中,您可以在下一个UIViewController中处理您想要执行的操作,例如传递变量等。

您可以在iOS7中使用Background Fetch,您可以在应用程序处于睡眠状态/后台时执行服务。这会在后台定期唤醒应用程序以执行任务,如刷新数据等。您可以在此处记录加速度计值。 http://www.appcoda.com/ios7-background-fetch-programming/有一个很好的教程。

我希望这有点帮助。