This is in part an extension to a previous question: Android programming, mapview locationoverlay: how to change the default blue location dot, with another image
I
What is location provider? If it NETWORK_PROVIDER, then you won't get bearing, because its accuracy is to low, to detect bearing.
NETWORK_PROVIDER
Try your app outside and with GPS_PROVIDER?
GPS_PROVIDER