Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.92 KB | None | 0 0
  1. if(f[which].equals("Camera")) {
  2. try {
  3. String imageFileName="outputImage_" + System.currentTimeMillis()+".png";
  4. File outputImageFile=new File(pictureSaveFolderPath,imageFileName);
  5. if(outputImageFile.exists()){
  6. outputImageFile.delete();
  7. }
  8. outputImageFile.createNewFile();
  9. imageUri=getImageUriByOsVersion(outputImageFile);
  10. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  11. intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
  12. startActivityForResult(intent, 1);
  13. } catch (Exception ex) {
  14. ex.printStackTrace();
  15. }
  16. }
  17.  
  18. if (requestCode == 1) {
  19. Uri selectedImage=imageUri;
  20. getApplicationContext().getContentResolver().notifyChange(selectedImage,null);
  21. ContentResolver cr=getApplicationContext().getContentResolver();
  22. try {
  23. thumbnail = MediaStore.Images.Media.getBitmap(
  24. cr, selectedImage);
  25. imageView.setImageBitmap(thumbnail);
  26. common.setBitmap(thumbnail);
  27.  
  28. }catch (Exception e){
  29. e.printStackTrace();
  30. }
  31.  
  32. Uri tempUri = getImageUri(getApplicationContext(), thumbnail);
  33. File finalFile = new File(getRealPathFromURI(tempUri));
  34. }
  35.  
  36. private boolean checkAndRequestPermissions() {
  37. int camera = ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA);
  38. int writePermission = ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
  39. int readPermission = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
  40. List<String> listPermissionsNeeded = new ArrayList<String>();
  41. if (camera != PackageManager.PERMISSION_GRANTED) {
  42. listPermissionsNeeded.add(Manifest.permission.CAMERA);
  43. }
  44. if (writePermission != PackageManager.PERMISSION_GRANTED){
  45. listPermissionsNeeded.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
  46. }if (readPermission != PackageManager.PERMISSION_GRANTED){
  47. listPermissionsNeeded.add(Manifest.permission.READ_EXTERNAL_STORAGE);
  48. }
  49. if (!listPermissionsNeeded.isEmpty()) {
  50. ActivityCompat.requestPermissions(this, listPermissionsNeeded.toArray(new String[listPermissionsNeeded.size()]),REQUEST_ID_MULTIPLE_PERMISSIONS);
  51. return false;
  52. }
  53. return true;
  54. }
  55.  
  56.  
  57. @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
  58. @Override
  59. public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
  60. switch (requestCode) {
  61. case REQUEST_ID_MULTIPLE_PERMISSIONS: {
  62. Map<String, Integer> perms = new HashMap<>();
  63. perms.put(Manifest.permission.CAMERA, PackageManager.PERMISSION_GRANTED);
  64. perms.put(Manifest.permission.READ_EXTERNAL_STORAGE,PackageManager.PERMISSION_GRANTED);
  65. perms.put(Manifest.permission.WRITE_EXTERNAL_STORAGE,PackageManager.PERMISSION_GRANTED);
  66. if (grantResults.length > 0) {
  67. for (int i = 0; i < permissions.length; i++)
  68. perms.put(permissions[i], grantResults[i]);
  69. if (perms.get(Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED && perms.get(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && perms.get(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
  70.  
  71. } else {
  72. if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA) || ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) || ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.READ_EXTERNAL_STORAGE)) {
  73. showDialogOK("Sorry, Camera and Storage Permission required for this activity. So please ensure the Camera and Storage permissions are enabled in settings",
  74. new DialogInterface.OnClickListener() {
  75. public void onClick(DialogInterface dialog, int which) {
  76. switch (which) {
  77. case DialogInterface.BUTTON_POSITIVE:
  78. checkAndRequestPermissions();
  79. break;
  80. } }
  81. });
  82. }
  83. } }
  84. } }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement