我尝试添加功能来覆盖当前的后退按钮行为,这与在浏览器中按下后退按钮(左箭头)完全相同。这往往是前进而不是回头的观点。我知道这就是WebView如果不覆盖它将如何处理后退按钮操作。
我很惊讶Android后退按钮与 ion-nav-view 标准后退按钮的工作方式相同,所以我找到了负责 ionic.bundle的代码的.js :
// Triggered when devices with a hardware back button (Android) is clicked by the user
// This is a Cordova/Phonegap platform specifc method
function onHardwareBackButton(e) {
console.log('check'); //this never fires
var backView = $ionicHistory.backView();
if (backView) {
// there is a back view, go to it
backView.go();
} else {
// there is no back view, so close the app instead
ionic.Platform.exitApp();
}
e.preventDefault();
return false;
}
console.log('check2'); //this fires
$ionicPlatform.registerBackButtonAction(
onHardwareBackButton,
IONIC_BACK_PRIORITY.view
);
我在Galaxy S5上进行了测试。
任何提示如何使这项工作?
答案 0 :(得分:0)
为什么不使用:$ionicHistory.goBack()
而不是backView.go();
?
来自doc goBack是浏览历史记录的方法
答案 1 :(得分:0)
我认为您通过调用
将后视图添加为堆栈上的新视图backView.go();
你应该,而不是打电话
$ionicHistory.goBack();
答案 2 :(得分:0)
您是否可以使用Ionic View来运行该应用?如果是这样,那就是我在使用Ionic View时遇到的许多不同于本机的问题之一。我无法让后退按钮行为在Ionic View中按预期工作,等等。
我已经转而使用Google Play Alpha/Beta Testing与其他人一起测试我的应用。这将使应用程序在每个测试人员的设备上以实际显示的方式运行。
答案 3 :(得分:0)
即使我没有像以下那样的错误:
cordova未定义
我在index.html中添加了以下内容并开始工作
<script src="cordova.js"></script>