我已经创建了两个页面的ionic App,如果我导航到Page2,则从Page1开始。按硬件后退按钮导航回到Page1,然后再次将硬件退回到后台。如果从后台打开该应用,则会重新加载启动屏幕,然后重新启动应用。
如何停止重新启动应用程序?
答案 0 :(得分:1)
我已经使用插件https://ionicframework.com/docs/native/app-minimize/来最小化该应用程序
在app.component.ts
中从'@ ionic-native / app-minimize'导入{AppMinimize}; 从“ ionic-angular”导入{App,Platform};
构造函数(平台:平台,公共应用程序最小化:AppMinimize,公共应用程序:应用程序){ platform.ready()。then(()=> { platform.registerBackButtonAction(()=> {
let nav = app.getActiveNavs()[0];
let activeView = nav.getActive();
if (activeView.name === "Page1") {
/** minimize the app in background **/
this.appMinimize.minimize();
}
else {
nav.pop();
}
});
});
}
答案 1 :(得分:0)
您可以显示警报以确认退出应用。通过以下方式修改 app.component.ts 文件
import { Platform, IonicApp } from 'ionic-angular';
constructor(public platform: Platform, private ionicApp: IonicApp){}
initializeApp() {
this.platform.ready().then(() => {
//back button handle
this.platform.registerBackButtonAction(() => {
if (this.navctrl.canGoBack()) {
this.navctrl.pop();
} else {
this.showAlert();
}
});
});
}
showAlert() {
let confirm = this.alertCtrl.create({
title: 'Exit Application?',
message: 'Do you want to exit this application?',
buttons: [
{
text: 'No',
handler: () => {}
},
{
text: 'Yes',
handler: () => {
navigator['app'].exitApp();
}
}
]
});
confirm.present();
}
或者您可以简单地按“主页”按钮而不是“后退”按钮。因此它不会重新启动您的应用。
答案 2 :(得分:0)
如您在评论中解释自己一样,这可能会有所帮助吗?
请按照以下步骤操作:
第一个步骤::在页面上按反压注册一个功能,您希望在该页面上执行“暂停时自定义”操作!
第2步::使用该自定义方法注册一个用户,然后调用ON PAUSE LISTENER,然后您就可以在其中完成功能了
让我们假设您有两个用于保存订户事件的字段变量 像
sub1$:any
sub2$:any
在构造函数中,您可以执行以下操作!
this.platform.ready().then(() => {
this.platform.registerBackButtonAction(() => {
this.sub1$=this.platform.pause.subscribe(() => {
console.log('****YOURPAGE PAUSED****');
this.appMinimize.minimize();
});
});
});
注意!!暂停事件可能被多次调用,因此您也应该取消订阅!像这样离开页面
ionViewWillUnload() {
this.sub1$.unsubscribe();
this.sub2$.unsubscribe();
}
答案 3 :(得分:0)
该线程已有几个月的历史,但让我也添加此解决方案。
在您的 app.module.ts 中,将其添加(或修改)到您的导入文件中:
IonicModule.forRoot(MyApp, { navExitApp: false}),
这将防止您在导航堆栈的根页面中关闭应用程序。
但是请注意,如果您想将应用程序推送到后台,则仍然必须以其他方式进行处理。 此解决方案只能防止关闭您的应用。