Android «onRequestPermissionsResult» не вызывается

Я пытаюсь реализовать поддержку разрешений Marshmallow, но мой код внутри "onRequestPermissionsResult" никогда не вызывается. Части кода "onCreate" и "onMapReady" работают нормально. Проверка, есть ли у устройства разрешение и запрос разрешения, работает нормально.

Я использую эмулятор Nexus 5X под управлением Android Marshmallow 6.0, API 23.

Я пытался сделать то, что здесь упоминается ->Android M Permissions: onRequestPermissionsResult () не вызывается

Но я не могу заставить его работать, не имеет значения, использую ли я «ActivityCompat.requestPermissions» или непосредственно «requestPermissions», он никогда не вызывается.

Я также обновил свой appcompat и библиотеки поддержки до v24.2.0

Есть идеи?

Это моя деятельность:

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

private GoogleMap mMap;
UiSettings mapSettings;
int MY_LOCATION_REQUEST_CODE;

@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);

}


@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;

    //Check location permission for sdk >= 23
    if (Build.VERSION.SDK_INT >= 23) {

        if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION)
                == PackageManager.PERMISSION_GRANTED) {
            mMap.setMyLocationEnabled(true);
        } else {
            // Request permission.
            ActivityCompat.requestPermissions(MapsActivity.this, new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION},
                    MY_LOCATION_REQUEST_CODE);
        }
    }

}

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    if (requestCode == MY_LOCATION_REQUEST_CODE) {
        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.
        }
    }
}

}

Ответы на вопрос(2)

Ваш ответ на вопрос