A guess is because speed requires at least two satellite fixes before it is
available to the user How do we measure our speed with location.(speedometer) - #4 by SteveJG
If Provider is 'fused', the LocationSensor will 'automatically' switch between using Cell tower coordinates and gps hardware. Devices that make use of this 'feature' need to be about Android 10+ I believe. Android versions lower do not have the fused feature. If Android 10+, you do not need your block to declare a Provider, Google does it for you. ![]()
This tutorial may help you decide what to do A Basic LocationSensor Speedometer