Не загружает фотографию в приложение

В общем коротко и ясно в приложение не грузит фотографию при попытке загрузить фото, приложение возвращается на пред предыдущий экран!

Лог ошибок

2021-01-05 12:59:52.388 3114-12458/? E/NetworkScheduler.ATC: Called cancelTask for already completed task com.google.android.gms/.measurement.PackageMeasurementTaskService{u=0 tag="Measurement.PackageMeasurementTaskService.UPLOAD_TASK_TAG" trigger=window{start=1647s,end=3296s,earliest=-532s,latest=1116s} requirements=[NET_CONNECTED] attributes=[PERSISTED] scheduled=-2179s last_run=-530s exec_window_multiplier=1.0000 jid=N/A status=ACTIVE retries=0 client_lib=GMS_TASK_SCHEDULER-204516000} :1 [CONTEXT service_id=218 ]

Лог ошибок 2

2021-01-05 12:59:52.551 1019-3017/? E/MdnieScenarioControlService: Exception : java.io.FileNotFoundException: /sys/class/mdnie/mdnie/scenario: open failed: ENOENT (No such file or directory) , in : null , value : null , length : 0

Активити загрузки фотографии

public class ChoosePhotoActivity extends BaseActivity {
    private TextView select_photo;
    private static int RESULT_LOAD_IMAGE = 1;
    private final int REQUEST_READ_EXTERNAL_STORAGE = 1;
    private Uri filePath;
    public static Bitmap bitmap = null;
    public static Bitmap bitmap_anc = null;
    public static CircleImageView user_photo;
    private static String img_data="",img_name="";
    private TextView title,message;
    private Context context;
    private FloatingActionButton button_next;
//    private ProgressBar progressBar_login;
    private String id_driver="";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_choose_photo);

        Bundle objetbundle = this.getIntent().getExtras();
        id_driver = objetbundle.getString("id_driver");

        context = ChoosePhotoActivity.this;
//        progressBar_login = (ProgressBar)findViewById(R.id.progressBar_login);
        select_photo = (TextView)findViewById(R.id.select_photo);
        user_photo = (CircleImageView) findViewById(R.id.user_photo);
        title = (TextView) findViewById(R.id.title);
        button_next = (FloatingActionButton) findViewById(R.id.button_next);
        title.setTypeface(AppConst.font_quicksand_medium(context));
        message = (TextView) findViewById(R.id.message);
        message.setTypeface(AppConst.font_quicksand_medium(context));

        select_photo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(isPermissionGrantedFirst() == true){
                    Intent i = new Intent(
                            Intent.ACTION_PICK,
                            MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                    startActivityForResult(i, RESULT_LOAD_IMAGE);
                }else{
                    isPermissionGranted();
                }
            }
        });

        button_next.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(!img_data.equals("")){
//                    progressBar_login.setVisibility(View.VISIBLE);
                    M.showLoadingDialog(context);
                    new setUserPhoto().execute();
                }else{
                    Toast.makeText(context, getResources().getString(R.string.choose_a_photo), Toast.LENGTH_SHORT).show();
                }
            }
        });
    }

    /** Enregistrement d'une photo d'un conducteur**/
    private class setUserPhoto extends AsyncTask<String, Integer, String> {
        @Override
        protected String doInBackground(String... params) {
            publishProgress();
            String url = AppConst.Server_url+"set_user_photo.php";
            StringRequest jsonObjReq = new StringRequest(Request.Method.POST,
                    url,
                    new Response.Listener<String>() {

                        @Override
                        public void onResponse(String response) {
                            try {
                                JSONObject json = new JSONObject(response);
                                JSONObject msg = json.getJSONObject("msg");
                                String etat = msg.getString("etat");
                                M.hideLoadingDialog();
                                if(etat.equals("1")){
                                    if(!msg.getString("image").equals("")) {
                                        M.setPhoto(msg.getString("image"), context);
                                        Intent intent = new Intent(ChoosePhotoActivity.this, ChooseNIActivity.class);
                                        intent.putExtra("id_driver",id_driver);
                                        startActivity(intent);
                                        finish();
                                    }else{

                                    }
                                }else{
                                    Toast.makeText(context, getResources().getString(R.string.failed_try_again), Toast.LENGTH_SHORT).show();
                                    user_photo.setImageBitmap(bitmap_anc);
                                }
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }

                        }
                    }, new Response.ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(context, getResources().getString(R.string.failed_try_again), Toast.LENGTH_SHORT).show();
                    M.hideLoadingDialog();
                    user_photo.setImageBitmap(bitmap_anc);
                }
            }) {

                @Override
                protected Map<String, String> getParams() {
                    Map<String, String> params = new HashMap<String, String>();
                    params.put("image",img_data);
                    params.put("image_name",img_name);
                    params.put("id_driver",id_driver);
                    params.put("user_cat","conducteur");
                    return params;
                }

            };
            AppController.getInstance().addToRequestQueue(jsonObjReq);
            jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(
                    10000,
                    DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
                    DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

            return null;
        }

        /*@Override
        protected void onProgressUpdate(final Integer... values) {
            super.onProgressUpdate(values);
            Log.i("progression", String.valueOf(values[0]));
            // Update the progress bar
            handler.post(new Runnable() {
                @Override
                public void run() {
                    progressBar.setProgress(values[0]);
                    // Show the progress on TextView
//                    if((int)progressStatus <= 100)
//                        counter.setText((int)progressStatus+"%");
                }
            });
        }*/

        @Override
        protected void onPostExecute(String result) {
            //to add spacing between cards
            if (this != null) {

            }

        }

        @Override
        protected void onPreExecute() {

        }
    }

    public boolean isPermissionGrantedFirst() {
        if (Build.VERSION.SDK_INT >= 23) {
            if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
                    == PackageManager.PERMISSION_GRANTED) {

                return true;
            } else {
                return false;
            }
        }
        else { //permission is automatically granted on sdk<23 upon installation
            //Toast.makeText(Accueil.this, "Permission is granted", Toast.LENGTH_SHORT).show();
            return true;
        }
    }

    public boolean isPermissionGranted() {
        if (Build.VERSION.SDK_INT >= 23) {
            if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
                    == PackageManager.PERMISSION_GRANTED) {
                return true;
            } else {

                //Toast.makeText(Accueil.this, "Permission is revoked", Toast.LENGTH_SHORT).show();
                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_READ_EXTERNAL_STORAGE);
//                ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
                return false;
            }
        }
        else { //permission is automatically granted on sdk<23 upon installation
            //Toast.makeText(Accueil.this, "Permission is granted", Toast.LENGTH_SHORT).show();
            return true;
        }
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
//        Toast.makeText(context, ""+getFileName(filePath), Toast.LENGTH_SHORT).show();

        if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {
            filePath = data.getData();
            Uri selectedImage = data.getData();
            String[] filePathColumn = { MediaStore.Images.Media.DATA };

            Cursor cursor = getContentResolver().query(selectedImage,
                    filePathColumn, null, null, null);
            cursor.moveToFirst();

            int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
            String picturePath = cursor.getString(columnIndex);
            cursor.close();

            if(bitmap_anc != null)
                bitmap_anc = ((BitmapDrawable)user_photo.getDrawable()).getBitmap();

            bitmap = BitmapFactory.decodeFile(picturePath);
            bitmap = getResizeImage(bitmap,720,true);
//            Toast.makeText(context, ""+bitmap, Toast.LENGTH_SHORT).show();

//            Toast.makeText(context, ""+getStringImage(bitmap), Toast.LENGTH_SHORT).show();

            user_photo.setImageBitmap(bitmap);

            if(bitmap != null){
                img_data = getStringImage(bitmap);
                img_name = getFileName(filePath);
            }else {
                img_data = "";
                img_name = "";
            }
//            new setUserPhoto().execute();
        }else {

        }
    }

    public static Bitmap getResizeImage(Bitmap realImage, float maxImageSize, Boolean filter){
        float ratio = Math.min((float)maxImageSize / realImage.getWidth(), (float)maxImageSize / realImage.getHeight());
        int width = Math.round((float)ratio * realImage.getWidth());
        int height = Math.round((float)ratio * realImage.getHeight());
        Bitmap newBitmap = Bitmap.createScaledBitmap(realImage, width, height, filter);
        return newBitmap;
    }

    public String getStringImage(Bitmap bmp){
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        bmp.compress(Bitmap.CompressFormat.JPEG, 100, baos);
        byte[] imageBytes = baos.toByteArray();
        String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
        return encodedImage;
    }

    String getFileName(Uri uri){
        String result = null;
        if (uri.getScheme().equals("content")) {
            Cursor cursor = getContentResolver().query(uri, null, null, null, null);
            try {
                if (cursor != null && cursor.moveToFirst()) {
                    result = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
                }
            } finally {
                cursor.close();
            }
        }
        if (result == null) {
            result = uri.getPath();
            int cut = result.lastIndexOf('/');
            if (cut != -1) {
                result = result.substring(cut + 1);
            }
        }
        return result;
    }
}

Ответы (0 шт):