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

3
我是Android编程新手,我的任务是制作一个独立的Android小部件(应用程序小部件),并将其发送到PHP服务器。 我需要找到一种从小部件类中获取当前设备位置的方法。小部件类名为Alarm,它扩展了AppWidgetProvider,并且应在没有Activity的情况下启动。
我已经发现了许多示例,这些示例说明如何使用LocationManager和LocationListener从MainActivity获取GPS位置,但这不是我所需要的,我需要它仅通过小部件实现,而不需要Activity。
如果您有任何想法,我将不胜感激。
谢谢。

你可能需要创建一个后台服务,获取你的位置信息,并在一定时间内将其发送到你的 PHP 服务器。 - Alexander Kaschta
1个回答

2
我有一个任务需要制作一个独立的Android小部件(应用小部件),它可以向PHP服务器发送一些数据。我需要找到一种从小部件类中获取当前设备位置的方法。
应用小部件无法将数据“发送”到服务器,也无法“获取当前设备位置”。 应用小部件——以AppWidgetProvider的形式——只存在于毫秒或更长时间,足够长的时间来发布其部分更新到主屏幕的UI。 这就是全部。在从onUpdate()返回后的几毫秒内,整个过程可能会被终止。
创建一个Service(例如,在Android 5.0+上使用JobService),该服务:
  • 注册位置更新
  • 当接收到位置更新时,将数据发送到服务器
  • 如果适当(因为我们不知道应用小部件的实际UI是什么),请使用AppWidgetManager更新应用小部件的UI
  • 停止自己
何时以及如何安排服务执行其工作取决于您(JobSchedulerJobService是很好的选择)。

谢谢,我会尝试那个方法。 - Jelena Nikolić

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接