To get to the popup on all/any layers for a tapped location , you will have to call MapView.IdentifyLayersAsync(),or you can call MapView.IdentifyLayerAsync to get info for a specific layer. The result of Identify "IdentifyLayerResult" has Popups property that will return popup info on a layer(s).
Side note, if layer has sublayers then you would need to get the SublayerResults and then check for popups for that sublayer.
Just to give an idea I quickly typed following code to demonstrate how to get the popup from a featurelayer. This is not a functional code. Let me know if you still have problems and I will put together a quick sample.
IReadOnlyList<IdentifyLayerResult> results = await MyMapView.IdentifyLayersAsync(Position, tolerance, false,Features);
foreach (IdentifyLayerResult identifyLayerResult in results)
{
if (identifyLayerResult.Error != null)
{
//Display error
}
else if (identifyLayerResult.Popups?.Count > 0)
{
//Get the popup for geoelement
var ge=identifyLayerResult.Popups[0].GeoElement;
//get attributes
foreach (KeyValuePair<string, object> element in ge.Attributes)
{
// do something
}
}
else if (identifyLayerResult.SublayerResults?.Count > 0)
{
foreach (var sublayer in identifyLayerResult.SublayerResults)
{
if (sublayer.Popups?.Count > 0)
{
////Get the popup from sublayer
var sublayerGE=(sr.Popups[0].GeoElement);
}
....
}
}