Android:获取 GPS 坐标并将其发送到服务器的服务
Posted
技术标签:
【中文标题】Android:获取 GPS 坐标并将其发送到服务器的服务【英文标题】:Android: Service to get and send GPS co-ordinates to server 【发布时间】:2014-06-16 06:49:27 【问题描述】:我知道这是重复的问题,但我没有得到解释性示例或解决方案。 我想开发一个应用程序,它在运行后调用一个后台服务,该服务获取设备的 GPS 位置并通过 php Web 服务将其发送到服务器。并且当用户需要时,他可以停止服务。
我是第一次从事服务工作。我在google上搜索,找到了很多教程,但没有得到它。
所以请指导我。
【问题讨论】:
为什么要使用 php,但您可以使用云服务,如解析用户位置。 parse.com 我需要将坐标发送到我的服务器。 你是否连续发送 lat long 到服务器,你尝试了什么? 您这样做有什么问题? 【参考方案1】:您可以使用网络服务将当前位置或纬度和滞后点发送到您的服务器
您经常想更新您的位置或纬度和滞后使用处理程序
final Handler handler = new Handler();
handler.postDelayed( new Runnable()
@Override
public void run()
handler.postDelayed( this, 60 * 1000 );
, 60 * 1000 );
【讨论】:
Mr.Lazy coward down voter,请评论我在这里做错了什么【参考方案2】:您可以获得位置跟踪Code Here,
您需要使用 Timers 或 PendingIntents 运行服务。
Timer timer = new Timer();
TimerTask task = new TimerTask()
@Override
public void run()
// getLocation From Here
;
timer.scheduleAtFixedRate(task, 0, 60*1000);
或者
PendingIntent pendingIntent = PendingIntent.getBroadcast(mActivity,0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 10);
interval = 1 * 60 * 1000;
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), interval, pendingIntent);
您可以通过服务Code Here获得位置跟踪
在这种情况下,您会连续运行后台服务。所以电池会变干。
【讨论】:
以上是关于Android:获取 GPS 坐标并将其发送到服务器的服务的主要内容,如果未能解决你的问题,请参考以下文章