ionic3最小化並且監控到前臺執行和後臺執行
1.安裝外掛
ionic cordova plugin add cordova-plugin-appminimize
npm install --save @ionic-native/app-minimize
2.建立BackButtonProvider
import { AppMinimize } from '@ionic-native/app-minimize';
export class BackButtonProvider {
//控制硬體返回按鈕是否觸發,預設false
backButtonPressed: boolean = false;
//建構函式 依賴注入
constructor(public platform: Platform,
public appCtrl: App,
public toastCtrl: ToastController, private appMinimize: AppMinimize) { }
//註冊方法
registerBackButtonAction(tabRef: Tabs): void {
//registerBackButtonAction是系統自帶的方法
this.platform.registerBackButtonAction(() => {
//獲取NavController
let activeNav: NavController = this.appCtrl.getActiveNavs()[0];
//如果可以返回上一頁,則執行pop
if (activeNav.canGoBack()) {
activeNav.pop();
} else {
if (tabRef == null || tabRef._selectHistory[tabRef._selectHistory.length - 1] === tabRef.getByIndex(0).id) {
//執行退出
this.appMinimize.minimize();
} else {
//選擇首頁第一個的標籤
tabRef.select(0);
}
}
});
}
}
3.在tabs.html頁面,如下設定
<ion-tabs #myTabs>
4.在tabs.ts頁面
@ViewChild('myTabs') tabRef: Tabs;
constructor(public backButtonService: BackButtonProvider,
private platform: Platform) {
this.platform.ready().then(() => {
this.backButtonService.registerBackButtonAction(this.tabRef);
});
}
5.此處需要注意的是,目前就可以退出最小化了。但是二級頁面現在會退出最小化,我們需要如下設定,
constructor(public navCtrl: NavController, public navParams: NavParams, private platform: Platform, public backButtonService: BackButtonProvider) {
this.platform.ready().then(() => {
this.backButtonService.registerBackButtonAction(null);
});
}
6.最後說下如何監聽軟體是在執行。還是已經最小化了(後臺執行)。
我們需要app.component.ts裡設定,如下:
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
platform.ready().then(() => {
document.addEventListener("resume", () => {
statusBar.styleDefault();
splashScreen.hide();
alert("進入,前臺展示"); //進入,前臺展示
}, false);
// Okay, so the platform is ready and our plugins are available.
// Here you can do any higher level native things you might need.
document.addEventListener("pause", () => {
alert("退出,後臺執行"); //退出,後臺執行
}, false);
});
}
相關文章
- Oracle“並行執行”——監控檢視Oracle並行
- 執行python指令碼後臺執行Python指令碼
- 如何在後臺執行 Linux 命令並且將程式脫離終端Linux
- Linux 下後臺執行和按照守護程式方式後臺執行的坑Linux
- Linux後臺執行Linux
- shell後臺執行
- flutter 寫後臺系統,執行到windowsFlutterWindows
- Linux 後臺執行命令Linux
- 後臺執行緒(daemon)執行緒
- jenkins後臺程式執行Jenkins
- 編碼:執行緒執行監控執行緒
- dotnet 後臺執行緒設定 X11 視窗最小化執行緒
- 將程式在後臺執行和殺掉後臺的程式
- linux後臺執行和關閉、檢視後臺任務Linux
- windows的nohup後臺執行Windows
- Linux jar包 後臺執行LinuxJAR
- java -jar 在後臺執行和關閉JavaJAR
- 監控 redis 執行命令Redis
- QT最小化程式到托盤執行QT
- [linux] 使用Screen後臺執行命令Linux
- 使用screen後臺執行任務
- mysql後臺執行緒詳解MySql執行緒
- Linux程式後臺執行實踐Linux
- 後臺執行SQL語句(oracle)SQLOracle
- 讓.py程式後臺執行(Linux)Linux
- Mac Redis 服務後臺執行MacRedis
- Linux 後臺執行 PHP 指令碼LinuxPHP指令碼
- Mac監控鍵盤輸入並執行動作Mac
- Linux nohup:後臺不掛起命令(後臺執行命令)Linux
- 執行緒池監控2-監控執行緒池狀態、執行緒數量和佇列任務數量等執行緒佇列
- 詳解linux後臺、前臺執行程序Linux行程
- 正常執行時間監控
- Java利用執行緒工廠監控執行緒池Java執行緒
- Android中後臺的服務和多執行緒Android執行緒
- 智慧綜合交通執行監測平臺
- Golang 啟停管理及後臺執行Golang
- php後臺定時執行任務PHP
- XYHCMS 3.6 後臺程式碼執行漏洞