As I already wrote in my comment. what you want to do is not possible. You can modify the behavior of your own application, but not the one of others.
The main reason is security issues. Imagine you have an app that mimics a log-in screen from BankXY, and displays this screen right before your actual BankXY app log-in screen is displayed. This is called phishing, and is one of the most popular attacking scenarios out there. What you would like to implement would not be a security risk, but the tools to make it possible certainly are.
EDIT:
This was possible before Android 8.0, where the ability of using Services
for background executions was significantly limited. It was possible to create a Service that would check the package names of running applications and in case this name is on a black-list, request a pin code for example (See this Question). However, you cannot run background Services for an infinite amount of time anymore.