From 180980f1f360a28015b4694737966f6561b7e857 Mon Sep 17 00:00:00 2001 From: paul-loedige Date: Sat, 26 Dec 2020 12:30:25 +0100 Subject: [PATCH] permission handler implemented --- APED/app/src/main/AndroidManifest.xml | 3 + .../java/com/example/aped/MainActivity.java | 99 +++++++++++++++++-- 2 files changed, 93 insertions(+), 9 deletions(-) diff --git a/APED/app/src/main/AndroidManifest.xml b/APED/app/src/main/AndroidManifest.xml index 54b771e..71a046f 100644 --- a/APED/app/src/main/AndroidManifest.xml +++ b/APED/app/src/main/AndroidManifest.xml @@ -2,6 +2,9 @@ + + + + ActivityCompat.requestPermissions( + MainActivity.this, + new String[]{ + Manifest.permission.WRITE_EXTERNAL_STORAGE}, + STORAGE_PERMISSION_CODE)) + .setNegativeButton("cancel", (dialog, which) -> + System.exit(1)) + .create() + .show(); + + } else { + ActivityCompat.requestPermissions( + this, + new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, + STORAGE_PERMISSION_CODE); + } + } + } + + /** + * handles request permission results. + * @param requestCode the code of the requested + * @param permissions the permissions requested + * @param grantResults the result of the permission request + */ + @Override + public void onRequestPermissionsResult( + final int requestCode, + @NonNull final String[] permissions, + @NonNull final int[] grantResults) { + if (requestCode == STORAGE_PERMISSION_CODE) { + if (grantResults.length > 0 + && grantResults[0] == PERMISSION_GRANTED) { + Toast.makeText( + this, + "Permission GRANTED", + Toast.LENGTH_LONG) + .show(); + } else { + System.exit(1); + } + } } }