美文网首页
重复启动页面解决方案

重复启动页面解决方案

作者: 剧透下 | 来源:发表于2020-01-09 10:18 被阅读0次

CheckDoubleUtil

/**

* @author ZhangChengBo

* Created by Android Studio.

* @description:

* @date :2019/12/5 11:37

*/

public  class CheckDoubleUtil {

private StringmActivityJumpTag; //activity跳转tag

private  long mClickTime;                //activity跳转时间

private volatile static CheckDoubleUtilinstance;

//双重锁验证单例模式

private CheckDoubleUtil(){

}

public static CheckDoubleUtilgetInstance(){

if (instance ==null){

synchronized (CheckDoubleUtil.class){

if (instance ==null){

instance =new CheckDoubleUtil();

            }

}

}

return instance;

}

/**

* 检查是否重复跳转,不需要则重写方法并返回true

*/

public  boolean checkDoubleClick(Intent intent) {

// 默认检查通过

    boolean result =true;

    // 标记对象

    String tag;

    if (intent.getComponent() !=null) {// 显式跳转

        tag = intent.getComponent().getClassName();

    }else if (intent.getAction() !=null) {// 隐式跳转

        tag = intent.getAction();

    }else {

return true;

    }

if (tag.equals(mActivityJumpTag) &&mClickTime >= SystemClock.uptimeMillis() -500) {

// 检查不通过

        result =false;

    }

// 记录启动标记和时间

    mActivityJumpTag = tag;

    mClickTime = SystemClock.uptimeMillis();

    return result;

}

使用方法(Activity中添加):

/**

* 每次启动activity都会调用此方法

*/

@SuppressLint("RestrictedApi")

@Override

public void startActivityForResult(Intent intent, int requestCode, @Nullable Bundle options) {

if (CheckDoubleUtil.getInstance().checkDoubleClick(intent)) {

super.startActivityForResult(intent, requestCode, options);

    }

}

相关文章

  • 重复启动页面解决方案

    CheckDoubleUtil /** * @author ZhangChengBo * Created by A...

  • Mac安装Nginx服务器与外网访问

    最新 1、安装 2、启动 原来就有nginx 并且启动失败 然后重复1、2步骤,再打开页面http://local...

  • 避免APP重复启动的解决方案

    点击通知,希望打开已经在后台的app,而不是新建,参考以下代码 参考文章:http://www.zhihu.com...

  • RN react-navigation-stack跳转到新页面并

    问题 启动页面过渡动画结束后跳转到登录页面,在登录页面点返回键不允许回到启动页面。 即在启动页面跳转到登录的时候关...

  • 高并发下的接口幂等性解决方案

    高并发下的接口幂等性解决方案 1.token机制,防止页面重复提交 流程如下: 1.发送方记录token(GUID...

  • 安装elasticsearch的坑

    安装包解压安装报错与解决方案 启动内存不足 解决方案:调小启动内存 无法以root权限启动 解决方案:创建一个非r...

  • 搭建Hive所遇过的坑

    一.基本功能: 1.启动hive时报错 解决方案: 2.启动hive时报错: 解决方案: 3.启动hive时报错 ...

  • 页面启动

    对比服务启动,页面启动相对就一种方式,命令行方式启动即使使用工具也是调出命令行面板键入命令启动,下面来看启动命令吧...

  • 启动页面

    白屏问题 2277!!注释掉 setContentView(R.layout.activity_splash);...

  • App白屏和启动优化的一些思路

    App启动优化 App启动优化原理与技术方案 启动优化 黑白屏问题 启动页面主题设置为图片 启动页面,不要再onC...

网友评论

      本文标题:重复启动页面解决方案

      本文链接:https://www.haomeiwen.com/subject/jufyactx.html