the alpha was in the right place, but not so the red and blue. Switching those generated the desired result:
int[] tmpPixels = fb.getPixels();
for (int i = 0; i < tmpPixels.length; i++){
int tmpInt = tmpPixels + 0xff000000;
int red = (tmpInt & 0x00ff0000)>>16;
int blue = (tmpInt & 0x000000ff)<<16;
tmpInt &= 0xff00ff00;
tmpInt += red + blue;
tmpPixels = tmpInt;
}
lastImage = Bitmap.createBitmap(tmpPixels, fb.getWidth(), fb.getHeight(), Config.ARGB_8888);