项目中使用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)
}
})
}
}
网友评论