Android default settings restore without losing data
Restoring factory defaults without deleting any apps or data is a contradiction in terms, as that's exactly what the reset does (see: factory-reset).

Could it be you just want your app to survive, but don't care about everything else being reset? That could be done by making the app a system app (see: system-apps), which requires the device to be rooted (see: rooting, root) in the first place.

Apart from that, the answer is "No". As soon as your customer applies a factory-reset, your app will be removed as well.