Ошибка приложения, о которой вы упомянули, по-видимому, связана с многократным использованием одного и того же AsyncTask
.Asynctask
можно использовать только один раз.Как упомянуто в официальной документации :
Задача может быть выполнена только один раз (исключение будет выдано при попытке второго выполнения.)
Ваш код создает один объект myTask
, который используется каждый раз в обработчике событий OnClick
.Создайте новый AsyncTask
каждый раз, чтобы избежать сбоев приложения, как показано ниже.
privateBtnGetCapture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
pictureBitmap = privateTextureView.getBitmap();
AsyncTask<Bitmap, Bitmap, Bitmap> myTask = new ApplyFilterTask();
//Start MyTask
myTask.execute(pictureBitmap);
}
});
Предупреждение, упомянутое IDE, является отдельной проблемой, связанной с объявлением myTask
.Вы, кажется, объявили myTask как AsyncTask
, а не как AsyncTask<Bitmap, Bitmap, Bitmap>
или ApplyFilterTask
.Измените объявление, и предупреждение исчезнет.