I have created a sqlite point layer in a QGIS (ver 3.8.1) project with both the absolute and relative path to photos stored in a subfolder of the project. I've added an action to the layer, which works great. In the image below, "Path" is the fieldname pointing to the absolute path
I have also created an attribute form, with 2 text fields and the relative path field using the drag-and-drop designer. The widget type is set to "Attachment", and the integrated document viewer is set to image (you can't see it in the screenshot). This results in an attribute form within QGIS with the image embedded within it.
All of this works great in QGIS, and mostly in QFIELD. The difference being that when editing in QField I am able to take a photo and see it in the attribute form, and when I hit save it claims to save the record but in fact it doesn't. The image is saved (in a subfolder of the project called DCIM, which is not configurable) but no record is created.
I found a reference from a couple years ago which stated that the project had to be stored in the
Android/data/ch.opengis.qfield/ folder, which I have tried on the SD card and on the device memory. Device is a Samsung S8 with lots of available storage space.
There are several bug reports on GitHub which are the exact opposite, stating that the record is created but the image isn't saved (QField issue 571).
The attribute form designer is goofy, in that I can't seem to edit the fields after creating them. I have to delete and recreate, which makes it hard to confirm that I've tried every option, but I really think that I have. Given that others are having a different problem I feel that maybe my problem lies there though...