Как получить широту и долготу внутри класса приемника вещания? - PullRequest
0 голосов
/ 02 апреля 2020

Привет всем, мое приложение создает геозону вокруг определенного местоположения, и как только кто-то входит в забор, оно регистрируется.

У меня есть широта и долгота в MainActivity, но как это сделать? То же самое я получаю в своем классе BroadcastReceiver (GeoFenceTransitionService. java)

. В основной активности я получаю Lat и Long, используя этот код:

  @Override
public void onLocationChanged(Location location) {
    Log.d(TAG, "onLocationChanged [" + location + "]");
    Log.e("Latitude", String.valueOf(location.getLatitude()));
    Log.e("Longitude", String.valueOf(location.getLongitude()));
    lastLocation = location;
    writeActualLocation(location);
}

Принимая во внимание, что в классе GeoFenceTransitionService я использовал этот код:

LocationManager locationManager;

    Location location;


  @Override
    protected void onHandleIntent(Intent intent) {
        GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);
        // Handling errors

        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        if (geofencingEvent.hasError()) {
            String errorMsg = getErrorString(geofencingEvent.getErrorCode());
            Log.e(TAG, errorMsg);
            return;
        }

     Geocoder geocoder = new Geocoder(getApplicationContext());

        try {
            List<Address> addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
            if (addresses.size() > 0) {
                Address address = addresses.get(0);
                String streetaddress = address.getAddressLine(0);
                Log.e("StreetAddress", String.valueOf(streetaddress));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

Как только я вхожу в забор, я получаю ошибку исключения нулевого указателя, как ее исправить?

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