P
Peter200980
Ambitioniertes Mitglied
- 0
Hallo,
ich möchte eine App machen, die den aktuellen Standort auf einer Karte anzeigt. Nachdem ich mit dem schreiben fertig war hat alles prima geklappt. App ist gestartet und meine Position wurde angezeigt. Danach habe ich die App aus dem Menü meines Handys gelöscht (Menü in dem aktuell laufende Programme gezeigt werden) und wollte sie nochmal starten --> App hat nur den weißen Hintergrund gezeigt und ist nach ein paar Sekunden abgestürzt. Wenn ich die Berechtigung des Standortes wieder weg nehme, dann wird die App ganz normal gestartet, jedoch Ohne Position.
Anbei noch mein Activity Code:
Schöne Grüße
Peter
ich möchte eine App machen, die den aktuellen Standort auf einer Karte anzeigt. Nachdem ich mit dem schreiben fertig war hat alles prima geklappt. App ist gestartet und meine Position wurde angezeigt. Danach habe ich die App aus dem Menü meines Handys gelöscht (Menü in dem aktuell laufende Programme gezeigt werden) und wollte sie nochmal starten --> App hat nur den weißen Hintergrund gezeigt und ist nach ein paar Sekunden abgestürzt. Wenn ich die Berechtigung des Standortes wieder weg nehme, dann wird die App ganz normal gestartet, jedoch Ohne Position.
Anbei noch mein Activity Code:
Code:
package de.androidnewcomer.partypeople_map;
import android.*;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.v4.app.FragmentActivity;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
public GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
// 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);
}
private boolean runtime_permissions() {
if (Build.VERSION.SDK_INT >= 23 && ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[] {android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission
.ACCESS_COARSE_LOCATION},100);
return true;
}
return false;
}
@SuppressWarnings("MissingPermission")
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == 100) {
if (permissions.length == 1 &&
permissions[0] == android.Manifest.permission.ACCESS_FINE_LOCATION &&
grantResults[0] == PackageManager.PERMISSION_GRANTED) {
mMap.setMyLocationEnabled(true);
} else {
// Permission was denied. Display an error message.
}
}
}
public void onMapReady( GoogleMap googleMap ) {
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
mMap.setMyLocationEnabled(true);
} else {
// Show rationale and request permission.
}
}
}
Peter