Android小工具的概念与后台位置更新?

时间:2018-07-15 21:41:12

标签: java android service widget location

我有一个App Widget,它提供的数据取决于用户的当前位置。

当前,我的解决方案如下:

  • 有一个LocationUpdatesService [扩展Service],它在onCreate()中注册位置更新,并在onDestroy()中取消注册位置更新。添加小部件或启动手机后,便会启动该服务(如果尚未运行)。
  • 使用PendingIntent注册位置更新,该广播会导致LocationUpdatesBroadcastReceiver [扩展BroadcastReceiver]处理广播。
  • 收到新位置后,小部件将更新。

这是最好的解决方案/概念吗?我不这么认为,因为我发现此后台服务已启动,注册了位置更新,并在几分钟后被系统销毁了,即使它是START_STICKY!我认为它并没有重新创建-可能比我测试的时间晚。

另一个问题是,我从上下文中使用startService来启动后台服务,如果启动了手机,则会导致IllegalStateException,因为不得在Android O上在后台启动服务。< / p>

真的很期待您的帮助和提示!

0 个答案:

没有答案