What I would do is write another app which starts up your "main app"
so then - when user clicks reset app the app must create a new process which basically looks for the app in the processes list. As soon as the app sees the process is no there then it can start it up again.