Данные GPS местоположения Передача типа Void переменным в MainActivity - PullRequest
0 голосов
/ 05 октября 2019

Я новичок в Android Studio. Я хотел получить информацию о месте. [Долгота и широта] Я столкнулся с чем-то вроде этого: https://github.com/smtrz/GPSTracker-Android

Я запустил все, однако я не знаю, как переместить данные из void onReceive [variable: latitude, longitude] в MainActivity, чтобы яможет работать на них. Отображать их по внешнему виду и т. Д. Я знаю, что все работает правильно, строка, добавленная в MyReciver в onReceive:

 Log.w("myApp", "Latitude:" + latitude + "   " + "Longitude:" + longitude + " ");

отображает текущее местоположение в Logcat. Как отправить эти данные в MainActivity?

MyReciver:

public class MyReciver extends BroadcastReceiver {


    @Override
    public void onReceive(Context context, Intent intent) {

        double latitude = Double.valueOf(intent.getStringExtra("latitude"));
        double longitude = Double.valueOf(intent.getStringExtra("longitude"));

        double speed = Double.valueOf(intent.getStringExtra("speed"));
        double altitude = Double.valueOf(intent.getStringExtra("altitude"));

        //Set it to some model class then maintain it in List saved in  sharedprefences - this will help you call the SendtoInternet Method
        //less frequently - i mean based on the number of list items you can take decision that once the list contains 5 items- send it to //the server - Its totally upto you.


        //SendtoInternet(latitude,longitude,altitude,speed)
        Log.w("myApp", "Latitude:" + latitude + "   " + "Longitude:" + longitude + " ");


    }
  }

Когда я определяю их снаружи и пытаюсь ссылаться на них, я получаю 0. Я не отображаю элементЯ имею в виду ...

public double latitude;
public  double longitude
@Override
    public void onReceive(Context context, Intent intent) {

        double latitude = Double.valueOf(intent.getStringExtra("latitude"));
        double longitude = Double.valueOf(intent.getStringExtra("longitude"));

        double speed = Double.valueOf(intent.getStringExtra("speed"));
        double altitude = Double.valueOf(intent.getStringExtra("altitude"));

        //Set it to some model class then maintain it in List saved in  sharedprefences - this will help you call the SendtoInternet Method
        //less frequently - i mean based on the number of list items you can take decision that once the list contains 5 items- send it to //the server - Its totally upto you.

}

В MainActivity указывается "0":

latitude = MyReciver.latitude;
 Log.w("MainActivity", "Latitude from MainActivity:" + latitude + "   ");

Кто-нибудь сталкивался с такой проблемой?

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