I believe the reason why SPP-loopback.py is not working for you is because you are not selecting the rfcomm you want listen. As you mentioned in your post the script is actually running however it is on the background since you used the command "python SPP-loopback.py &". The "&" makes the script run in the background.
I will provide you a short example on how to connect through SPP to an Android device.
On Linux's side:
rfkill unblock bluetooth bluetoothctl [bluetooth]# agent DisplayYesNo [bluetooth]# default-agent [bluetooth]# scan on # The edison found my BT device [bluetooth]# scan off [bluetooth]# discoverable on [bluetooth]# pair XX:XX:XX:XX:XX:XX [agent] Confirm passkey 212348 (yes/no): yes [bluetooth]# connect XX:XX:XX:XX:XX:XX [bluetooth]# trust XX:XX:XX:XX:XX:XX [bluetooth]# quit python SPP-loopback.py -C 22
On Android's side:
I simply searched a Bluetooth SPP app and installed the first option that appeared.
I connected to my Edison and was able to see the messages sent.