onPause()
is generally not a good place to start new Activities. Your Activity is generally being paused because another application is launching, the user turned off the screen, or hit the home button.
Regardless of which of these is happening, that thing is going to continue happening. The screen will still be off, the other Activity will still be launched, or the user's home screen will still be shown.
I would re-evaluate what you are doing and your strategy for doing it.
Edit:
Since you are developing a kiosk app, the path forward is a little different. Your method still will not work, so here are some alternatives.
As of API 21 you should use startLockTask()
to lock the user into the current task. Whenever possible, you should require that the kiosk device run API 21 or above so you can leverage this feature.
In older versions of Android, you will want to tell the OS that your app is a "launcher" by adding the HOME
category to your Activity's intent filter in the manifest. This will relaunch your app when the user tries to navigate home. You will also want to configure the device to use your app as the "launcher" by default to lock the user in. See this StackOverflow post for more detail.