Android only accepts certain file types (from a hardcoded list) by default.
There are two solutions:
- The sender can rename their files before sending to one of the white-listed mime-types (by adding an accepted file extension).
- Buy a phone from a manufacturer that supports it or install aftermarket firmware such as OmniROM or CyanogenMod that allow all file types with inbound bluetooth transfers.
If the manufacturer hasn't changed this behaviour or extended the list, the accepted mime-types as of January 2015 are:
"image/*",
"video/*",
"audio/*",
"text/x-vcard",
"text/plain",
"text/html",
"text/xml",
"application/zip",
"application/vnd.ms-excel",
"application/msword",
"application/vnd.ms-powerpoint",
"application/pdf",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"application/vnd.openxmlformats-officedocument.presentationml.presentation",
I.e., just add a media file extension (eg. .jpeg/.png/.gif/.mp4/.mp3/), Zip file (.zip), PDF (.pdf) or office document (.doc/.xls/...), etc.
The list is defined in the string ACCEPTABLE_SHARE_INBOUND_TYPES variable if you like to see the exact and current definition in the source code.