It is actually 1MB. The most common reason for this error is a too large IPC. As a quick test, you could try removing half the bitmaps or so and see if it works. If so, the issue is almost certainly an IPC that is too large. If that is the case, you just need to reduce the amount of data being sent over.
It's not that the single bitmap is too large, it's that I'm updating quite a few bitmaps. The biggest bitmap in PNG form (a lot smaller I know) is only 4KB. I am updating 14 ImageViews in each update. Is there any way to split the update for each widget instance somehow?
Binder data size limit is 512K, IIRC, so it should be enough for the update.
Are you sure the failed transaction is not caused by bad data in RemoteViews (references to views that don't exist, etc.) that cause the remote side (Launcher) to crash?
What are the other methods to push a bitmap into a widget? Anything I could search for?
ImageView can grab images from a Uri, and supports content:// and file:// style Uris.
Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails. All such questions should be posted on public forums, where I and others can see and answer them.