Jedes Mal, wenn ich diese laufen, bekomme ich diese Fehlermeldung „java.lang.IllegalStateException: Systemdienste nicht zur Verfügung Aktivitäten vor onCreate()“Erste Benutzer Geo Location API 23
Ich brauche die Benutzer zu erhalten Länge und Breitengrad, damit ich es für den Rest meiner App verwenden kann, aber ich kann nicht herausfinden, wie man über diesen Fehler hinauskommt.
public class map extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private FloatingActionButton plus;
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
plus = (FloatingActionButton) findViewById(R.id.newPlace);
plus.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startActivity(new Intent(map.this, newPlacePop.class));
}
});
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
LatLng currentPosition = new LatLng(latitude, longitude);
float zoomLevel = 16; //This goes up to 21
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(currentPosition, zoomLevel));
}
}