absolute filesystem path the bytes were written to. Always populated, even on Android Q+ MediaStore writes (in which case it is the resolved file path behind the content URI).
the content URI on Android Q+ MediaStore writes (null on iOS and on legacy Android writes). Pass this to Intent.ACTION_VIEW directly without going through FileProvider.