I don't believe anything like that is currently baked into the API, but the building blocks for it are certainly in place. There is an isVisible() method that you can use to know when a layer is visible, but I haven't done much testing to know if this value updates automatically based on MapView scale changes or if it only updates based on programmatic changes. You'd have to test to see what gets returned with a layer is set to visible but outside of its scale range. That said, I doubt that it considers the extent at all (but I could be wrong). For that, you have a couple methods you can use. For an ArcGISDynamicMapServiceLayer, you'll want to look at getMapServiceInfo(). The MapServiceInfo object contains information about the extent of the service as well as the min and max scale at which it is visible. For an ArcGISFeatureLayer the corresponding method is getLayerServiceInfo(), which returns a LayerServiceInfo object with similar properties.
On your MapView you can then set pan and zoom listeners to iterate through your layers to see which ones are visible using a combination of isVisible() and the properties from your MapServiceInfo/LayerServiceInfo objects.