Ich habe alle diesbezüglichen Beiträge gelesen und eine Menge Dokumentation gelesen, weiß aber immer noch nicht, was ich tun soll. Wenn ich die App auf meinem Handy starte, wird die Standort-Schaltfläche hinzugefügt, aber nichts passiert, wenn ich sie drücke, wenn das GPS nicht aktiviert ist. Wenn ich es aktiviere (manuell, nicht gedrängt oder irgendetwas), funktioniert es perfekt.Bitten Sie den Benutzer, sein GPS zu aktivieren, wenn Sie com.google.android.gms.location.LocationListener verwenden.
Was ich tun möchte, ist, dass, wenn der Benutzer die Schaltfläche Standardposition drückt, eine neue benutzerdefinierte Absicht aufgerufen werden sollte. Etwas wie dieses:
if (mLastLocation == null) {
LayoutInflater inflater = getLayoutInflater();
@SuppressLint("InflateParams") View layout = inflater.inflate(R.layout.toast_gps_view, null);
Toast toast = new Toast(getApplicationContext());
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
Als ich den android.location.LocationListener importierte; Die Callback-Methode onProviderDisabled wurde aufgerufen, und ich konnte meinen Code dort hinzufügen, aber jetzt wird diese Methode mit dem com.google.android.gms.location.LocationListener nicht mehr überschrieben. Was muss ich also tun, damit der Benutzer zur Aktivierung des GPS aufgefordert wird?