@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(getClass().getSimpleName(), "onCreate(): " + savedInstanceState); setContentView(R.layout.activity_main); if (null == savedInstanceState) { new Permissive.Request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .withRationale(new EducateUpFrontFragment()) .showRationaleFirst(true) .execute(this); } else { new Permissive.Request(Manifest.permission.WRITE_EXTERNAL_STORAGE) .showRationaleFirst(true) .execute(this); } }
/** * Recreates the request object with identical set of permissions to be requested. * No listeners or other settings are restored. * * <p>It may be required to execute the request again, when the process is killed. * Then, all requests and actions are lost, but activities and fragments are restored. * Also, it may happen, that a rationale or even the Android permission request is restored, * so we should rebuild old {@link Permissive.Request} to handle pending request.</p> * * @return Rebuilt request object. */ public Permissive.Request rebuildRequest() { return new Permissive.Request(true, permissions); }
public void educateForLocationPermission(View view) { new Permissive.Request(Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION) .showRationaleFirst(true) .withRationale(new EducateInContextFragment()) .whenPermissionsGranted(this::onPermissionsGranted) .whenPermissionsRefused(this::onPermissionsRefused) .execute(this); }
public void askForCameraPermission(View view) { new Permissive.Request(Manifest.permission.CAMERA) .withRationale(new AskInContextFragment()) .whenPermissionsGranted(this::onPermissionsGranted) .whenPermissionsRefused(this::onPermissionsRefused) .execute(this); }