1.概述
11.0定制化开发中,由功能需求要求给app添加锁,就是点击app 图标时,会弹出Dialog,需要输入密码才能进入app中,就是应用校验锁,这样就能通过密码限制访问某些app了
最开始想到在Launcher3中实现,但是如果更换了默认Launcher 又不行了 所以最终还是得拦截app启动Activity 从这里入手了
2.app添加校验锁(输入密码才能进入app)的核心类
/packages/apps/Launcher3/src/com/android/launcher3/Launcher.java
frameworks/base/services/core/java/com/android/server/wm/ActivityStarter.java
3.app添加校验锁(输入密码才能进入app)核心功能分析和实现
Launcher与APP是在两个不同的进程中,他们之间的通信是通过Binder完成的,点击Launcher上的某个APP,这时会调用Launcher的startActivitySafely方法。
3.1Launcher关于启动app的方法调用
@Override
public boolean startActivitySafely(View v, Intent intent, ItemInfo item,
@Nullable String sourceContainer