这个问题,有解决么?我现在两个app,相同的run,一个打包在安卓机上,可以返回,一个却是不能返回的,不知道什么原因
.run(['$rootScope','$ionicPlatform','$state','$location','$ionicHistory','mypush','dialogsManager',
function($rootScope,$ionicPlatform,$state,$location,$ionicHistory,mypush,dialogsManager) {
$ionicPlatform.ready(function() {
if(window.cordova && window.cordova.plugins.Keyboard) {
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
}
if(window.StatusBar) {
StatusBar.styleDefault();
}
function setBar(){
console.log('sfhsafhsafh');
var first = null;
plus.key.addEventListener("backbutton",function(){
console.log(11);
if($state.is('tab.myClass')){
if(!first){
console.log(10);
first = new Date().getTime();
dialogsManager.showMessage('再次点击退出应用');
setTimeout(function(){
first = null;
},1000);
}else{
console.log(12);
if(new Date().getTime()-first<1500){
plus.runtime.quit();
}
}
}else{
console.log(22);
$ionicHistory.goBack();
}
});
// }
//关闭启动画面
plus.navigator.closeSplashscreen();
}
//初始化plus对象
if (window.plus) {
setBar();
} else {
document.addEventListener("plusready", setBar, false);
}
mypush.init();
});
}])
23 个回复
Lee_Bus
一天一顶啊 ,什么时候能修复下嘛
赵梦欢 - 专注前端,乐于分享!
报一下机型和客户端5+运行环境的版本号plus.runtime.innerVersion
5***@qq.com
最新版本就出现这样的问题
DCloud_Android_ST
每次进入应用都会有这个现象 还是只是第一次进入应用由此问题
赵梦欢 - 专注前端,乐于分享!
客户端排查确定了问题,由于native层增加了机制导致的backbutton监听事件失效,已经给出了修护方案:
临时方案:
在plusready事件之后 plus.webview.currentWebview().appendJsFile('_www/fix.js'); 可以修复这个问题。
(fix.js文件见下面附件)
或者使用alpha版本打包机打包:
http://pan.baidu.com/s/1hs0O4eS#list/path=%2F&parentPath=%2Falpha%3Fqq-pf-to
因为是部分业务逻辑可能会有这种bug,下次发正式版本会修复这个问题,目前临时方案不能解决问题的发一个可以重现问题的测试工程。
l***@qq.com
使用这个没有解决,测试设备三星S7
2016-12-29 23:45
l***@qq.com
同样遇到这个问题
客户端5+版本
1.9.9.28189
1.9.9.28326
都存在这个问题
c***@163.com
这问题纠结了两天了,晕,我以为我代码有问题呢
s***@163.com
上周一打包还是好的,就加了点业务逻辑,这周就不行了;我从周一下午打包后,发现这个问题,纠结到现在,各种排查,也没有找到问题
但是昨晚,自己就参照网上【如下】写了一个简易的移动app,打包成apk在手机上点击返回键却弹出了alert,如果是官方打包出现bug,那为什么,这个又是好的呢?求解惑 @DCloud_客服_小青年
不知这个问题,官方什么时候能够修复,还是一直采取这个临时方案 @DCloud_客服_小青年
赵梦欢
这个返回不是所有情况下会出现这个问题,是部分情况下可能会有这个问题,下次发的正式版会解决这个问题。
2016-12-30 12:18
s***@163.com
这个大概需要多长时间呢?公司app需要上线,我得报备一个大概的日期
2016-12-30 13:31
l***@qq.com
使用临时方案我这打包后无效,使用真机调试出现如下错误。
Uncaught TypeError: Cannot redefine property: pageloadover
c***@icloud.com
vue-cli 單頁面模式開發的app,之前還好好的,更新后打包的app全局返回監聽,全局網絡監聽,全局推送監聽都衹有起始頁面有效,一跳轉頁面就失效,好蛋疼,
LFZ
我也是这样,后来回滚就的sdk,我是离线打包的
2017-02-09 12:03
s***@163.com
我现在真机模拟安卓返回键都失效了,这个安卓返回键的bug什么时候修复呢?到底修不修复这个问题?如果修复,大概什么时候修复?报备半个月了,不管怎么样还是希望官方能给个准话,这样我们也好向客户解释呢?javascript:;
s***@163.com
客服提供的 公网地址:
Win版本:http://update.dcloud.net.cn/alpha/HBuilder.windows@20170112.zip
还是不行
2017-01-12 15:20
s***@163.com
坐等修复,客户再三要求,年前打包交付时,一定要解决这个问题
LLgg (作者)
什么时候修复
Lee_Bus
跪求修复啊 ,一天一顶
Eiby
同问,什么时候能修复,调了一天代码!
3***@qq.com
这个问题,经过我调试,真机调试和打包运行都已经解决了,不是使用官方的fix.js,在代码里面加一个setTimeout,等待1-2秒,再执行
setTimeout(function(){
try{
plus.key.addEventListener('backbutton', function() {
plus.nativeUI.toast("触发返回按钮");
}, false);
}catch(e){
},2000);
就是Ok的,给还在被这个问题困扰的人,提供一个方案
s***@163.com
这个当时出现问题的时候,我就尝试过,并没有什么效果,刚在.run里面加了,还是没有什么效果呢
2017-01-22 10:23
1***@qq.com
同样无效
2017-01-23 11:05
3***@qq.com
在我的代码里面测试是ok的,我不是用的mui框架,用 的是vue
2017-01-25 13:53
LFZ
我用 vue单页面也是返回没反应
2017-02-09 12:06
Lee_Bus
目前我通过setInterval 去执行。。。。。单页面模式下会存在这个问题
l***@qq.com
单页面路由的方法,只能是先监听返回键,第一次有效,然后通过切换到任何一个页面(只要history被修改过),就又无效了,现在临时的方法,就是每次切换一个页面(history被修改),就重新监听一遍返回键。
这个毕竟不是解决问题方法,希望官方能修复此问题。
LFZ
我也是这个问题
2017-02-09 17:11
5***@qq.com
现在还没有解决?有这么难吗?
s***@163.com
这个问题,有解决么?我现在两个app,相同的run,一个打包在安卓机上,可以返回,一个却是不能返回的,不知道什么原因
1***@qq.com
vue cli用了mui监听返回,第一次进,只能一只进,不能退,推出应用再进去就一切正常了,求解,大神们。
1***@163.com
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title></title>
<script type="text/javascript">
</head>
<body>
</body>
</html>
设备获取不到音量点击事件,各位大神有什么好的方法吗
4***@qq.com
请问这个问题解决了吗, 重写mui.back无法阻止默认事件, 其他问题里的解决方法都试了, 还是解决不了