Ich versuche den Standort auf meinem Gerät zu aktivieren, indem ich das Popup in meinem Gerät benutze, ohne auf die Einstellungsseite zu gehen; Ich habe mehrere Lösungen für einen Stack-Überlauf ausprobiert, aber keiner scheint zu funktionieren, wenn ich meinen Emulator oder Gerätestandort eingeschaltet habe.
Mein Standortcode ist wie folgt:Position des Emulators
OnRequest:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull
String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){
permission. its an array becayse it can be multiple permissions
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0 , 0, locationListener);
}
}
}
Main:
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
locationListener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.i("location",""+location.toString());
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
};
if(ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION} ,1);
}else{
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0 , 0, locationListener);
}
Manifest:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Bauen Gradle:
compile 'com.android.support:support-v4:25.0.0'
compile 'com.google.android.gms:play-services-maps:10.2.4'
compile 'com.google.android.gms:play-services-location:10.2.4'
Hey Ich habe versucht, diesen Code zu ersetzen, noch die Lage nicht in wird meine Codes eingeschaltet. Wenn du dein Studio und deinen Emulator benutzen würdest, würdest du das einschalten, auf deiner Seite? –
Sie können den aktuellen Standort nicht über GPS in einem Emulator abrufen. Führen Sie die Anwendung in einem Gerät aus, um sicherzustellen, dass es funktioniert. –
ah ja, ich habe versucht, beide immer noch die gleichen Ergebnisse unfähig für sie programmatisch einschalten –