码迷,mamicode.com
首页 > 移动开发 > 详细

android定位问题

时间:2014-10-19 23:07:11      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:android   io   ar   使用   sp   数据   on   art   问题   

============问题描述============


各位大神:
如何将GPS,基站定位,WiFi定位有效集成到一起,让系统根据网络化境做出有效的定位方式,谢谢啦

============解决方案1============


楼上说的对,实现locationlistener的onLocationChanged,onProviderDisabled,onProviderEnabled,onStatusChanged接口。

============解决方案2============


但是基站定位和wifi定位(IP)还是需要第三方包依赖的啊,否则你就得自己搭建基站数据库,拿到所有基站的数据,ip也是一样,才能进行解析。

============解决方案3============


如此 你就注册了两个 provider , GPS_PROVIDER & NETWORK_PROVIDER。 但是还是有问题 gps 精度高 可靠, 但是稳定性差 , network方式 速度快 但是不可靠 ,因为位置取决于你使用的代理等原因。至于你的初衷“系统根据网络化境做出有效的定位方式” ,这个可以做一个互动选择让用户自行选定  如果gps获得不了位置 使用网络位置,如果两种方式都有位置信息,且误差超过一定程度 ,让用户自行决定想使用哪个。
引用 9 楼 tomkan 的回复:
private android.location.LocationManager mLocationManager;
LocationListener [] mLocationListeners = new LocationListener[] {
            new LocationListener(android.location.LocationManager.GPS_PROVIDER),
            new LocationListener(android.location.LocationManager.NETWORK_PROVIDER)
    };
if (mLocationManager == null) {
            mLocationManager = (android.location.LocationManager)
                    mContext.getSystemService(Context.LOCATION_SERVICE);
        }
        if (mLocationManager != null) {
            try {
                mLocationManager.requestLocationUpdates(
                        android.location.LocationManager.NETWORK_PROVIDER,
                        1000,
                        0F,
                        mLocationListeners[1]);
            } catch (SecurityException ex) {
                Log.i(TAG, "fail to request location update, ignore", ex);
            } catch (IllegalArgumentException ex) {
                Log.d(TAG, "provider does not exist " + ex.getMessage());
            }
            try {
                mLocationManager.requestLocationUpdates(
                        android.location.LocationManager.GPS_PROVIDER,
                        1000,
                        0F,
                        mLocationListeners[0]);
               
            } catch (SecurityException ex) {
                Log.i(TAG, "fail to request location update, ignore", ex);
            } catch (IllegalArgumentException ex) {
                Log.d(TAG, "provider does not exist " + ex.getMessage());
            }
            Log.d(TAG, "startReceivingLocationUpdates");
        }

android定位问题

标签:android   io   ar   使用   sp   数据   on   art   问题   

原文地址:http://www.cnblogs.com/meizhenfen42/p/4035746.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!