You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Permission.java 5.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package com.example.greenwatch;
  2. import static android.Manifest.permission.CAMERA;
  3. import static android.Manifest.permission.RECORD_AUDIO;
  4. import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
  5. import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
  6. import static androidx.core.app.ActivityCompat.requestPermissions;
  7. import static androidx.core.content.ContextCompat.checkSelfPermission;
  8. import android.Manifest;
  9. import android.app.Activity;
  10. import android.content.Context;
  11. import android.content.DialogInterface;
  12. import android.content.pm.PackageManager;
  13. import android.os.Bundle;
  14. import android.util.Log;
  15. import android.view.View;
  16. import androidx.appcompat.app.AlertDialog;
  17. import androidx.appcompat.app.AppCompatActivity;
  18. import androidx.core.app.ActivityCompat;
  19. import androidx.core.content.ContextCompat;
  20. public class Permission {
  21. private static final int PERMISSION_REQUEST_MICRO = 1;
  22. private static final int PERMISSION_REQUEST_CAMERA = 2;
  23. private static final int PERMISSION_REQUEST_ALARM = 1234;
  24. private static final int PERMISSION_REQUEST_START = 1235;
  25. public void startRechtePruefen(Context context, Activity activity){
  26. boolean rechtKamera = checkSelfPermission(context, CAMERA) == PackageManager.PERMISSION_GRANTED;
  27. boolean rechtAudio = checkSelfPermission(context, RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED;
  28. boolean rechtSchreiben = checkSelfPermission(context, WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
  29. boolean rechtLesen = checkSelfPermission(context, READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
  30. Log.d("Kamera Rechte", String.valueOf(rechtKamera));
  31. Log.d("Audio Rechte", String.valueOf(rechtAudio));
  32. Log.d("Schreib Rechte", String.valueOf(rechtSchreiben));
  33. Log.d("Lese Rechte", String.valueOf(rechtLesen));
  34. if(rechtKamera && rechtAudio && rechtSchreiben && rechtLesen){
  35. Log.d("Rechte", "erteilt");
  36. } else {
  37. startRechteAnfordern(activity);
  38. }
  39. }
  40. public boolean kameraRechtePruefen(Context context, Activity activity){
  41. boolean rechtKamera = checkSelfPermission(context, CAMERA) == PackageManager.PERMISSION_GRANTED;
  42. Log.d("Kamera Rechte", String.valueOf(rechtKamera));
  43. if(rechtKamera){
  44. Log.d("Kamerarechte", "erteilt");
  45. return true;
  46. } else {
  47. kameraRechteAnfordern(activity);
  48. if(checkSelfPermission(context, CAMERA) == PackageManager.PERMISSION_GRANTED){
  49. return true;
  50. } else {
  51. return false;
  52. }
  53. }
  54. }
  55. public boolean microRechtePruefen(Context context, Activity activity){
  56. boolean rechtAudio = checkSelfPermission(context, RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED;
  57. Log.d("Audio Rechte", String.valueOf(rechtAudio));
  58. if(rechtAudio){
  59. Log.d("Rechte", "erteilt");
  60. return true;
  61. } else {
  62. microRechteAnfordern(activity);
  63. if(checkSelfPermission(context, RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED){
  64. return true;
  65. } else {
  66. return false;
  67. }
  68. }
  69. }
  70. public boolean alarmRechtePruefen(Context context, Activity activity){
  71. boolean rechtKamera = checkSelfPermission(context, CAMERA) == PackageManager.PERMISSION_GRANTED;
  72. boolean rechtAudio = checkSelfPermission(context, RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED;
  73. boolean rechtSchreiben = checkSelfPermission(context, WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
  74. boolean rechtLesen = checkSelfPermission(context, READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
  75. Log.d("Kamera Rechte", String.valueOf(rechtKamera));
  76. Log.d("Audio Rechte", String.valueOf(rechtAudio));
  77. Log.d("Schreib Rechte", String.valueOf(rechtSchreiben));
  78. Log.d("Lese Rechte", String.valueOf(rechtLesen));
  79. if(rechtKamera && rechtAudio && rechtSchreiben && rechtLesen){
  80. Log.d("Rechte", "erteilt");
  81. return true;
  82. } else {
  83. alarmRechteAnfordern(activity);
  84. if(checkSelfPermission(context, CAMERA) == PackageManager.PERMISSION_GRANTED
  85. && checkSelfPermission(context, RECORD_AUDIO) == PackageManager.PERMISSION_GRANTED
  86. && checkSelfPermission(context, WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
  87. && checkSelfPermission(context, READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED){
  88. return true;
  89. } else {
  90. return false;
  91. }
  92. }
  93. }
  94. public void startRechteAnfordern(Activity activity){
  95. ActivityCompat.requestPermissions(activity, new String[]{CAMERA, RECORD_AUDIO, WRITE_EXTERNAL_STORAGE, READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_START);
  96. }
  97. public void kameraRechteAnfordern(Activity activity){
  98. ActivityCompat.requestPermissions(activity, new String[]{CAMERA}, PERMISSION_REQUEST_CAMERA);
  99. }
  100. public void microRechteAnfordern(Activity activity){
  101. ActivityCompat.requestPermissions(activity, new String[]{RECORD_AUDIO}, PERMISSION_REQUEST_MICRO);
  102. }
  103. public void alarmRechteAnfordern(Activity activity){
  104. ActivityCompat.requestPermissions(activity, new String[]{CAMERA, RECORD_AUDIO, WRITE_EXTERNAL_STORAGE, READ_EXTERNAL_STORAGE}, PERMISSION_REQUEST_ALARM);
  105. }
  106. }