//在dependencies中 implementation 'org.aspectj:aspectjrt:1.9.5' //androidstudio4.0以上需加(与dependencies平齐的位置) aspectjx { enabled true exclude 'com.google','com.taobao','com.alipay'(过滤需要的第三方,支付宝等;具体用法见https://github.com/HujiangTechnology/gradle_plugin_android_aspectjx) }2、project.build
dependencies { //建议3.6.1以上 classpath 'com.android.tools.build:gradle:3.6.3' classpath 'com.hujiang.aspectjx:gradle-android-plugin-aspectjx:2.0.10' }3、新建ClickFilterHook的Java文件(自动捕捉的)
@Aspect public class ClickFilterHook { private static Long sLastclick = 0L; //因为会影响所有的点击事件,设置0.3s左右不影响 private static final Long FILTER_TIMEM = 300L; @Around("execution(* android.view.View.OnClickListener.onClick(..))") public void clickFilterHook(ProceedingJoinPoint joinPoint) { if (System.currentTimeMillis() - sLastclick >= FILTER_TIMEM) { sLastclick = System.currentTimeMillis(); try { joinPoint.proceed(); } catch (Throwable throwable) { throwable.printStackTrace(); } } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)