Вы можете использовать Bundle (см. http://developer.android.com/reference/android/os/Bundle.html). Так что ваш AsyncTask будет выглядеть примерно так ...
public class MyTask extends AsyncTask<Void, Void, Bundle>
{
@Override
protected Bundle doInBackground(Void... arg)
{
Bundle bundle = new Bundle();
bundle.putParcelable("Bitmap", bitmap);
bundle.putString("String", string);
return bundle;
}
protected void onPostExecute(Bundle bundle)
{
Bitmap bitmap = bundle.getParcelable("Bitmap");
String string = bundle.getString("String");
}
}
Битовая карта является Parcelable, но вы можете столкнуться с ошибками во время выполнения для всехно самые маленькие растровые изображения. Так что вам может понадобиться превратить его в байтовый массив и обратно, что-то вроде этого ...
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] bytes = baos.toByteArray();
Bundle bundle = new Bundle();
bundle.putByteArray("Bytes", bytes);
и это ...
byte[] bytes = bundle.getByteArray("Bytes");
Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length, new BitmapFactory.Options());