Let me tell you briefly about this because i did these type of things in past.
We can hide only our app in user mobile,we can't hide other apps in user mobile but we can block any app in user mobile. For this you can use any way either statically or dynamically(via server)
Now the question is how ? So here is the answer
- You need to run background and foreground both service. Now detect the app (package). It means you need to detect whether app is in foreground or in background.
- So if the app is in foreground then you need to close/block the app.
Now the another question is how we can close/block the app ?
Suppose you want to close/block Facebook app in user mobile then use condition like
if (packagename.equals("com.facebook.katana"){
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
}
You need to use above code in service. Service will detect continuously whether Facebook app is in foreground or not. You can use timer or thread for this.
As soon as the service gets the Facebook Open then service will fire intent to Home Screen.
Above is the best possible way to close/ block the apps.
Thanks!