如何从Android应用程序小部件获取GPS位置?

时间:2017-05-31 11:01:30

标签: android gps location android-appwidget

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

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

我会感激任何想法。 提前致谢。

1 个答案:

答案 0 :(得分:1)

  

我有一个任务是创建一个独立的android小部件(app小部件),它将一些数据发送到PHP服务器。我需要找到一种从widget类中获取当前设备位置的方法。

app小部件无法发送一些数据"到服务器,app小部件无法获得当前的设备位置"。应用程序窗口小部件 - 以AppWidgetProvider的形式 - 大约一毫秒左右,足以在主屏幕的UI部分发布更新。 那是。从onUpdate()返回后,您的整个过程可能会在几毫秒内终止。

在Android 5.0上创建Service(例如,JobService):

  • 注册位置更新
  • 收到位置更新后,将数据发送到服务器
  • 如果合适(因为我们不知道应用小工具的实际用户界面是什么),请使用AppWidgetManager更新应用小工具的用户界面
  • 停止使用

您安排服务工作的时间和方式取决于您(JobSchedulerJobService是个不错的选择。)