callback compatibility issue when initialing method
We confirm a callback compatibility issue which might threaten the robustness of your app and give a detailed suggestion for you.
In ''be.brunoparmentier.openbikesharing.app.activities.MapActivity", you super the framework API "<android.app.Activity: void onRequestPermissionsResult(int,java.lang.String[],int[])>" in "onRequestPermissionsResult" method as shown in following. But actually, this method is added in API level 23 (https://developer.android.google.cn/reference/android/app/Activity?hl=en#onRequestPermissionsResult(int,%20java.lang.String[],%20int[])).
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case REQUEST_LOC_PERMISSION_CODE:
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
mooveToLocation();
} else if(!ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.ACCESS_FINE_LOCATION)) {
Toast.makeText(this, getString(R.string.location_not_granted), Toast.LENGTH_LONG).show();
}
break;
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
So when the app try to initial related funtion on devices level 21 and 22, your app will run with an unpredictable results. So we suggest you add an "if(SDK_INT>22)" or change your app miniSDK from 21 to 23 to fix this potential issue.