Как переключаться между GPS и сетевым провайдером - PullRequest
0 голосов
/ 31 июля 2011

хочу спросить о критериях провайдера gps

взгляните на мой код:

private void initLocationManager() {

        locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

        String bestProvider; 

        locListener = new LocationListener() {

            @Override
            public void onLocationChanged(Location newLocation) {
                tampilkanPosisikeMap(newLocation);
            }

            public void onProviderDisabled(String arg0) {
                Functions.MakeToast(getApplicationContext(), "GPS tidak tersedia");
            }

            public void onProviderEnabled(String arg0) {
                Functions.MakeToast(getApplicationContext(), "GPS tersedia");
            }

            public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
            }

        };

// look here
        Criteria criteria = new Criteria();
        criteria.setAccuracy(Criteria.ACCURACY_FINE);
        criteria.setAltitudeRequired(false);
        criteria.setBearingRequired(false);
        criteria.setCostAllowed(true);
        criteria.setPowerRequirement(Criteria.POWER_LOW);
        bestProvider = locManager.getBestProvider(criteria, true);
        locManager.getLastKnownLocation(bestProvider);

        locManager.requestLocationUpdates(bestProvider, 5000, 1, locListener);  

    }

посмотрите на раздел критериев,

это так работает?

если он не соответствует критериям для получения GPS_PROVIDER, тогда он выберет NETWORK_PROVIDER в качестве поставщика

это было правильно или неправильно?

спасибо извините за мой плохой английский: (* ​​1014 *

Ответы [ 2 ]

0 голосов
/ 16 августа 2011

я просто удаляю эту строку

criteria.setAccuracy(Criteria.ACCURACY_FINE);

, чтобы она получала значение с любой точностью (от провайдера сети и GPS), когда я тестирую ее, она всегда получает значение от network_provider

возможно, если устройство заблокировало позицию GPS-спутника, оно получит значение от gps_provider

0 голосов
/ 31 июля 2011

Это действительно должно работать так. Кажется правильным.

Я сталкивался с тем, что, возможно, считалось, что getLastKnonwLocation () вернет ноль, если не известно последнее известное местоположение. Но так как вы все равно не храните это в каком-либо значении - почему бы не убрать строку из вашего кода? тебе это не нужно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...