I can already detect when an Android phone makes or takes a phone call, but I would also like to know if a bluetooth headset is being used for the call and/or if the phone's speaker is being used for the call. I have looked around a bit but I don't see anything that can do this. Is this possible?
I think you can use AudioManager's isBluetoothScoOn(), it should work fine.