文件名称:SelectActivity-过滤startActivity请求
文件大小:667KB
文件格式:ZIP
更新时间:2017-05-03 18:11:11
Android
原理: context.startActivity跳转间接使用Instrumentation对象execStartActivity方法,而Instrumentation存在于ActivityThread中,有趣的是在应用启动后,有且只有一个ActivityThread对象,那么Instrumentation也只有一个,也就是说不管哪个Context使用startActivity方法都是间接使用同一个Instrumentation对象。既然要过滤startActivity请求,那么可以通过替换原来的Instrumentation来达到我们的目的。这里使用代理模式,在做具体实现之前,先执行我们设定的动作(过滤)。 注:如果使用JDK自带的代理处理模块,在Android上不能运行,因为Android使用的Dalvik字节码,而不是java字节码,需要使用第三方库dexmaker。
【文件预览】:
SelectActivity
----.project(850B)
----project.properties(562B)
----lint.xml(53B)
----src()
--------com()
----AndroidManifest.xml(958B)
----res()
--------drawable-hdpi()
--------layout()
--------values()
----.settings()
--------org.eclipse.jdt.core.prefs(177B)
----assets()
----libs()
--------dexmaker-1.0.jar(662KB)
----.classpath(535B)
----proguard-project.txt(781B)
----ic_launcher-web.png(50KB)