需求:做一个系统服务或者应用;可以根据后台配置的黑白名单,禁用应用启动。如果是黑名单应用,则点击了,也无法启动。
这里不做后台拉取黑名单的动作。只做 如何检测其他应用启动。检测到了,就可以禁止启动了。
具体如下。
这里作为非系统app来进行说明,系统app要简单一些,但差别不大。
知识点及介绍参考文章如下:
IActivityController
使用IActivityController监听所有app启动的状态。
如下:
public class MyActivityController extends IActivityController.Stub {
public boolean activityStarting(Intent intent, String pkg) {
Log.d(TAG, "activityStarting: " + pkg + ", intent= " + intent);
//retrun false;//false 则不会启动,直接返回。
return true;
}
public boolean activityResuming(String pkg) {
Log.d(TAG, "activityResuming: " + pkg);
return true;
}
public int appEarlyNotResponding(String processName<