if(allPermissionsGranted()){
Log.d( TAG , "Permissions Granted" );
folds = getPicturePaths();
} else{
Log.d( TAG , "Permissions Not Granted" );
// ActivityCompat.requestPermissions(getActivity(), REQUIRED_PERMISSIONS, REQUEST_CODE_PERMISSIONS);
requestPermissions( REQUIRED_PERMISSIONS,REQUEST_CODE_PERMISSIONS );
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if(requestCode == REQUEST_CODE_PERMISSIONS){
Log.d( TAG , "requestCodeGallery: " +requestCode );
if(allPermissionsGranted()){
folds = getPicturePaths();
} else{
Log.d( TAG , "requestCodeElseGallery: " +requestCode );
Toast.makeText(getActivity(), "Permissions not granted by the user. Gallery", Toast.LENGTH_SHORT).show();
getActivity().finish();
}
}
}
private boolean allPermissionsGranted(){
for(String permission : REQUIRED_PERMISSIONS){
if(ContextCompat.checkSelfPermission(getActivity(), permission) != PackageManager.PERMISSION_GRANTED){
return false;
}
}
return true;
}
Asking for runtime permissions in two fragments- PHOTO and GALLERY.But after allowing the permissions the Camera Preview doesn't gets inflated in Photo Fragment till the app restarts.
The flow of the app:
-MainActivity
|
+--Upload Fragment
| |
| +----Upload Image Activity
| | |
| | +------Photo Fragment
| | +------Gallery Fragment