With the "Serial Bluetooth Terminal" app, I was assuming it rather instantly disconnects because unlike the "car scanner" app, it has no idea what it is connected to and maybe the elm327 expects periodic "pings" from whatever device is connected to it?
No. Serial Bluetooth Terminal is a very basic simple interface. It doesn't expect to see anything, and it doesn't do anything you haven't told it to do.
So if the connection to the bluetooth dongle drops out, that is a fault of the bluetooth device or the android device.
Car Scanner does keep talking to the bluetooth device AND the PCM whenever it is connected. This can help maintain a connection with a low quality bluetooth device.
However, Car Scanners' serial terminal is not meant for any heavy lifting. So throwing an ATMA instruction at it is bound to cause trouble.
I just looked at the current version of Car Scanners terminal. It is definitely whacky right now so I would steer clear of it.
ATMA means you want the bluetooth adapter to put onscreen absolutely every message that is on the vehicle data network. Everything. And it will keep doing that until you press the "send" again. At that point it will report "STOPPED".
If you try to send something different while the ATMA instruction is still printing out all messages to the screen, it will not work.
You must conclude the ATMA instruction by pressing send again BEFORE sending anything else.
The instruction
@AmpOverload gave you "0100" is a standard query to your vehicle requesting which of the standard OBD PIDs between $01 and $20 does your vehicle support? The response you received contains that information. It is coded and needs to be decoded to see what's what.
Wikipedia and others can provide the details of how that is done. I have a spreadsheet made up for such things. Where column C has a green background with a 1 in it are the standard PIDs your vehicle supports.
See Column C, row 17? The 1 there indicates your vehicle supports the Mode $01, PID $05 which is "engine coolant temperature".
If instead of sending "0100" you follow the same steps and send "0105" you will receive a response which contains your engine coolant temperature. It will be the 6th byte of the message, given as celcius, in hexadecimal format, most likely with a +40 offset. So you take the hexadecimal value, convert that to decimal, then subtract 40 and that's your engine coolant temperature in Celcius.
This is what apps like Car Scanner are doing in the background when you want to display your coolant temperature.