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 坐标并将其发送到服务器的服务的主要内容,如果未能解决你的问题,请参考以下文章

Android - 在服务线程上获取 GPS 坐标

可以连续轮询 iPhone 获取 GPS 坐标吗?

发送到数据库时的 Android GPS 延迟

如何从GPS获取数据并发送到服务器以及如何保存到数据库

获取 GPS 位置坐标并存储在数组中 [重复]

如何将 GPS 坐标发送到网络服务器?