Here are the docs for media.hasSource():
https://docs.coronalabs.com/api/library/media/hasSource.html
At the bottom of the page, there is a sample code for requesting camera access. When I run exactly that code on a Samsung A20 (Android 9) I get this error:
Aug 21 12:26:00.168 SM-A202F: REQUEST_PERMISSIONS Action.
Aug 21 12:26:11.486 SM-A202F: REQUEST_PERMISSIONS Action.
Aug 21 12:26:18.021 SM-A202F: Execute the lua listener task
Aug 21 12:26:18.021 SM-A202F: ERROR: CoronaActivity.DefaultRequestPermissiosnResultHandler.forwardRequestPermissionsResultToLua():Cannot forward results to Lua as no registry ID was found!
Permission is asked twice. First time for access to the camera (which is correct), and second time for the media library (strange, since I ask for permission only for camera). It is at that second occasion that the error is thrown.
Is this a bug in Corona or are the docs missing something?
EDIT: the first time permission is asked is when it is asked excplicitly in the code. The second time occurrs when trying to capture the actual photo with media.capturePhoto(). It is the second one that throws the error.