Weex

weex☞Android返回

2018-12-03  本文已影响41人  小学生的博客

项目中使用vue-router控制跳转,在原生上存在的问题是,点返回键时会直接退出应用,那么该如何处理那
在WXPageActivity中增加返回按钮点击事件的监听

 //  监听返回按钮点击事件
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:
                Map<String, Object> params = new HashMap<>();
                params.put("click", "back");
                mInstance.fireGlobalEventCallback("androidback", params);
                ExitApp(this);
                return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    //退出应用
    public static long exitTime = 0;
    public static void ExitApp(final Context context) {
        if ((System.currentTimeMillis() - exitTime) > 2000) {
//            Toast.makeText(context, "再按一次退出程序", Toast.LENGTH_SHORT).show();
            exitTime = System.currentTimeMillis();
        } else {
            ((Activity) context).finish();
        }
    }

在index.vue中进行监听,来操作回退或者退出事件

    const globalEvent = weex.requireModule('globalEvent')
    export default {
        created() {
            let self = this
            globalEvent.addEventListener('androidback', function (e) {
                if (self.$route.path == '/') {
                } else {
                    self.$router.go(-1)
                }
            })
        }
    }
上一篇下一篇

猜你喜欢

热点阅读