在android系统中,怎么监控应用的进程改变及消亡呢?
至于监控应用进程能做什么,这个就不多说了,你懂的。
在android系统中有这么一个类ActivityManagerNative,看名称就大概能猜到该类是做什么用的了,该类中有个方法“registerProcessObserver”
public void registerProcessObserver(IProcessObserver observer) throwsRemoteException {
Parcel data=Parcel.obtain();
Parcel reply=Parcel.obtain();
data.writeInterfaceToken(IActivityManager.descriptor);
data.writeStrongBinder(observer!= null ? observer.asBinder() : null);
mRemote.transact(REGISTER_PROCESS_OBSERVER_TRANSACTION, data, reply,0);
reply.readException();
data.recycle();
reply.recycle();
}
该方法就是注册 进程观察者方法,传入的对象为IProcessObserver 类型,而查看工程源码会发现,整个工程中都不能找到IProcessObserver .java;那这个类是怎么来的呢?
搜索源码你可以找到对应的IProcessObserver .aidl文件,对了,就是这个aidl文件编译后,会产生对应的类。
该类中有