我想制作一个始终在后台运行(从启动开始)的应用程序,它将GPS坐标发送到服务器。此应用程序应始终处于活动状态,并且永远不应关闭。 我应该使用这些服务吗?我想使用UDP套接字发送坐标,但是我接受替代方法。我也想避免使用Google API。
非常感谢:)
答案 0 :(得分:1)
如果您的应用程序需要在后台运行,则需要服务,并且需要使其成为前台服务,这意味着只要您的应用程序在运行,就需要向用户显示通知。
不允许在设备启动时从Android O打开应用。您将收到一个IllegalStateException。 这样做的主要原因是要完全避免您要实现的目标。
始终在后台运行应用程序是不好的,而持续跟踪用户的GPS坐标并将其发送到服务器则特别不利。 因为它将很快耗尽电池电量。
但是,可以保持前台服务运行,该前台服务可以获取GPS坐标并将其发送到服务器。但是对于该用户,必须先打开您的应用。
请参阅 https://developer.android.com/about/versions/oreo/background#services
另一种替代方法是使用JobIntentService,它将以智能的方式安排您的任务,以避免浪费用户的电池和数据。
关于UDP套接字,这取决于您的后端。