Как работать с GPS во Fragment?

254
21 апреля 2017, 19:06

Добрый день, пытаюсь запустить GPS, но не как не могу понять почему в созданном Fragment подчёркивает красным все this а так же getSystemService ?

public class GPS extends Fragment {

private LocationManager locationManager;
DBHelper dbHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    locationManager = (LocationManager)getSystemService(LOCATION_SERVICE);
    dbHelper = new DBHelper(this);
}

@Override
public void onResume() {
    super.onResume();

    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        // TODO: Consider calling
        //    ActivityCompat#requestPermissions
        // here to request the missing permissions, and then overriding
        //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
        //                                          int[] grantResults)
        // to handle the case where the user grants the permission. See the documentation
        // for ActivityCompat#requestPermissions for more details.
        return;
    }
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000 * 10, 5, locationListener);
    locationManager.requestLocationUpdates(
            LocationManager.NETWORK_PROVIDER, 1000*10, 5,
            locationListener);
}
@Override
public void onPause() { removeUpdates
    super.onPause();
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        // TODO: Consider calling
        //    ActivityCompat#requestPermissions
        // here to request the missing permissions, and then overriding
        //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
        //                                          int[] grantResults)
        // to handle the case where the user grants the permission. See the documentation
        // for ActivityCompat#requestPermissions for more details.
        return;
    }
    locationManager.removeUpdates(locationListener);
}
Answer 1

В фрагменте нужно вот так:

    locationManager = (LocationManager)getContext().getSystemService(Context.LOCATION_SERVICE);
READ ALSO
TableLayout и элементы на нем во весь экран

TableLayout и элементы на нем во весь экран

Доброго времени суток! Как сделать что бы элементы (в моем случае кнопки) в контейнере TableLayout занимали все пространство экранаВ ширину я решил...

351
Анимация кнопки

Анимация кнопки

Сделала анимацию кнопки вращение вокруг своей оси в методе setOnTouchListenerА как сделать такую анимацию, чтобы при нажатии на кнопку она тряслась?...

322
Варианты записи java

Варианты записи java

Есть desktop приложение на java, делаю функцию сохраненияСмысл её будет сохранять n-e количество массивов, а после считывать их

200