Android Volley: CalledFromWrongThreadException при загрузке изображения в виде строки - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь загрузить изображение в виде строки на мой сервер, используя Volley в Android.

ТОЛЬКО на старых устройствах я получаю исключение CalledFromWrongThreadException.Код отлично работает на новых устройствах (Android 7+).

Сообщение об ошибке:

E / Volley: [231] NetworkDispatcher.processRequest: необработанное исключение android.view.ViewRootImpl $ CalledFromWrongThreadException: только исходный поток, создавший иерархию представления, можетпотрогай его взгляды.

Мой POST-запрос:

StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
                new Response.Listener<String>() { ...

            @Override
            protected Map<String, String> getParams() {
                ...
                params.put("png", BitMapToString(cropImageView.getCroppedImage()));
                return params;
            }...



public String BitMapToString(Bitmap bitmap){
    ByteArrayOutputStream baos=new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG,100, baos);
    byte [] b=baos.toByteArray();
    String temp=Base64.encodeToString(b, Base64.DEFAULT);
    return temp;
}

1 Ответ

0 голосов
/ 24 октября 2018

Получение изображения вне запроса решило проблему!

final Bitmap imageBitmap = cropImageView.getCroppedImage();

//REQUEST using imageBitmap below
...