Как передать параметр байта типа функции AsyncTask?

Как передать параметр байта типа [] в функцию doInBackground класса AsynTask?

Когда я делаю что-то вроде этого:

private class Banana extends AsyncTask<byte[], Void, Void> { protected void doInBackground(byte[]... data) { mCamera.addCallbackBuffer(byte[] data); } protected void onProgressUpdate() { } protected void onPostExecute() { } } 

Я получаю сообщение об ошибке, говорящее, что тип возврата несовместим с Async Task для функции doInBackground.

doInBackground самом деле ожидает массив array[] . Таким образом, вы можете использовать:

 private class Banana extends AsyncTask<byte[], Void, Void> { protected Void doInBackground(byte[]... data) { mCamera.addCallbackBuffer(data[0]); return null; } protected void onProgressUpdate() { } protected void onPostExecute() { } } 

Или вы можете отправить этот массив как параметр конструктора класса:

 private class Banana extends AsyncTask<Void, Void, Void> { private byte[] data; public Banana(byte[] data) { this.data = data; } protected Void doInBackground(Void... data) { mCamera.addCallbackBuffer(this.data); return null; } protected void onProgressUpdate() { } protected void onPostExecute() { } }