本文介绍了在android系统的GPS定位更新不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从Android的官方网站我已经下载了位置服务的例子和放大器;并在真实的设备上运行。每次onLocationChanged方法返回网络的纬度和放大器;经度但不准确的GPS定位。如何实现从全新的Andr​​oid位置API精确的GPS位置。

下面是我的服务,code

 包com.example.locationservice;进口android.app.Service;
进口android.content.Context;
进口android.content.Intent;
进口android.location.Location;
进口android.location.LocationListener;
进口android.os.Bundle;
进口android.os.IBinder;
进口android.util.Log;进口com.google.android.gms.common.ConnectionResult;
进口com.google.android.gms.common.GooglePlayServicesClient;
进口com.google.android.gms.common.GooglePlayServicesUtil;
进口com.google.android.gms.location.LocationClient;
进口com.google.android.gms.location.LocationRequest;公共类MDFYLocationUpdate扩展服务实现
LocationListener的,
GooglePlayServicesClient.ConnectionCallbacks,
    GooglePlayServicesClient.OnConnectionFailedListener,
    com.google.android.gms.location.LocationListener { LocationClient mLocationClient;
    私人LocationRequest mLocationRequest;
    公共静态语境℃;
    最后弦乐BROADCAST_ACTION =CURRENT_LOCATION;
    公共静态最后弦乐TAG =位置;
 //每秒毫秒
    私有静态最终诠释MILLISECONDS_PER_SECOND = 1000;
    以秒为单位更新//频率
    公共静态最终诠释UPDATE_INTERVAL_IN_SECONDS = 5;
    以毫秒为单位//更新频率
    私有静态最后的更新周期长= 10000;
            // MILLISECONDS_PER_SECOND * UPDATE_INTERVAL_IN_SECONDS;
    //最快的更新频率,以秒为单位
    私有静态最终诠释FASTEST_INTERVAL_IN_SECONDS = 1;
    //毫秒的快速频率上限
    私有静态最后长FASTEST_INTERVAL =
            MILLISECONDS_PER_SECOND * FASTEST_INTERVAL_IN_SECONDS;    @覆盖
    公众的IBinder onBind(意向意图){
        // TODO自动生成方法存根
        返回null;
    }
    @覆盖
    公共无效的onCreate(){
        // TODO自动生成方法存根
        super.onCreate();
        mLocationRequest = LocationRequest.create();                mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
        //设置更新间隔为5秒
        mLocationRequest.setInterval(更新周期​​);
        //最快的更新间隔设置为1秒
        mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
         servicesConnected();
        mLocationClient =新LocationClient(这,这,这);
    }
    @覆盖
    公共无效的onDestroy(){
        // TODO自动生成方法存根
        super.onDestroy();
    }
    @覆盖
    公共无效onConnected(捆绑connectionHint){
        // TODO自动生成方法存根        Log.d(TAGonconnected);
        mLocationClient.requestLocationUpdates(mLocationRequest,这一点);
    }
    @覆盖
    公共无效onDisconnected(){
        // TODO自动生成方法存根
        Log.d(TAGonsisconnect);
         //销毁当前位置客户端
        mLocationClient = NULL;
    }
    @覆盖
    公共无效onConnectionFailed(ConnectionResult结果){
        // TODO自动生成方法存根    }     私人布尔servicesConnected(){
        //检查谷歌播放服务提供
        INT结果code = GooglePlayServicesUtil.isGooglePlayServicesAvailable(本);
        //如果谷歌Play服务的可
        如果(ConnectionResult.SUCCESS ==结果code){        返回true;
        }其他{        返回false;
        }
        }    @覆盖
    公共无效onLocationChanged(地点){
        // TODO自动生成方法存根
        Log.d(TAGonLocationChanged);
        Log.d(TAG,纬度=+ location.getLatitude()+LNG =+ location.getLongitude());
        Logger.writeLog(纬度=+ location.getLatitude()+LNG =+ location.getLongitude()+==+ BasicDeviceInformation.getCurrentDate());    }
    @覆盖
    公众诠释onStartCommand(意向意图,诠释标志诠释startId){
        // TODO自动生成方法存根
        Log.d(TAGonStartCommand);
        mLocationClient.connect();
        返回super.onStartCommand(意向,旗帜,startId);
    }
    @覆盖
    公共无效onProviderDisabled(字符串提供商){
        // TODO自动生成方法存根    }
    @覆盖
    公共无效onProviderEnabled(字符串提供商){
        // TODO自动生成方法存根    }
    @覆盖
    公共无效onStatusChanged(字符串提供商,INT地位,捆绑演员){
        // TODO自动生成方法存根    }
}


解决方案

不知道用户将回到SO与否,代表他如此张贴一个答案为别人谁遇到这个问题。

PS: - 此答案由用户自己建议,但在错误的地方,所以张贴在代表他的

这篇关于在android系统的GPS定位更新不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-24 16:05