2017-05-31 235 views
1

我是android编程新手,我有一个任务是创建一个独立的android小部件(app小部件),它将一些数据发送到PHP服务器。我需要找到一种从widget类获取当前设备位置的方法。该widget类称为Alarm,它扩展了AppWidgetProvider,它应该在没有Activity的情况下启动。如何从android应用程序小部件获取GPS位置?

我发现很多例子解释了如何使用MainActivity中的LocationManager和LocationListener获取GPS位置,但这不是我需要的,我需要它没有活动,只有小部件。

我会感激任何想法。 在此先感谢。

+0

您可能需要创建一个后台服务来获取您的位置,然后在定义的时间段内将其发送到您的PHP服务器。 –

回答

0

我有一个任务,使独立的Android小部件(应用小部件),它发送一些数据到PHP服务器。我需要找到一种从widget类获取当前设备位置的方法。

应用程序小部件无法“发送一些数据”到服务器,而应用程序小部件无法“获取当前设备位置”。一个应用部件—以AppWidgetProvider —的形式存在一个毫秒左右,足够长的时间来发布主屏幕UI部分的更新。 就是这样。从onUpdate()返回后,您的整个过程可能会在几毫秒内终止。

创建Service(例如,JobService在Android 5.0+)的是:

  • 寄存器将位置更新
  • 当接收到位置更新,将数据发送到服务器
  • 如果合适(因为我们不知道应用小部件的实际UI是什么),使用AppWidgetManager来更新应用小部件的UI
  • 本身停止

何时以及如何安排服务完成其工作取决于您(JobSchedulerJobService将是一个不错的选择)。

+0

谢谢,我会尽力去那样。 –