Cached background upload (in MainActivity)