Приложение Android Ionic 2 зависает с белым экраном при запуске.изначально проверка приложения рутирована или не используется плагин IRoot.если устройство не является пользователем root, оно войдет в функцию finalinitializeApp, но компонент корневой страницы не загружен.
Это работает, когда переключенное на другое приложение вернулось на эту страницу приложения, загруженное нормально
platform.ready().then(() => {
this.checkRootDetection()
});
checkRootDetection() {
if (typeof (IRoot) !== 'undefined' && IRoot) {
IRoot.isRooted((data) => {
console.log("normal", data);
if (data == true) {
this.rootedDeviceOrNot = true;
this.initializeApp();
console.log("This is routed device");
}
else {
this.rootedDeviceOrNot = false;
this.initializeApp();
console.log("This is not routed device");
}
}, (data) => {
this.rootedDeviceOrNot = undefined;
this.initializeApp();
console.log("routed device detection failed case", data);
});
}
}
initializeApp() {
if (this.rootedDeviceOrNot == true) {
this.screenOrientation.lock(this.screenOrientation.ORIENTATIONS.PORTRAIT);
this.statusBar.styleDefault();
this.splashScreen.hide();
this.RootDetectionCloseAlert("Your device is not secured.Hence we are exiting the application");
} else {
this.checkrootmethod();
}
}
checkrootmethod() {
if (typeof (IRoot) !== 'undefined' && IRoot) {
IRoot.isRootedRedBeer((data) => {
console.log("busybox", data);
if (data == true) {
this.rootedDevice = true;
this.finalinitializeApp();
}
else {
this.rootedDevice = false;
console.log("This is not routed device");
this.finalinitializeApp();
}
}, (data) => {
this.rootedDevice = undefined;
this.finalinitializeApp();
console.log("routed device detection failed case", data);
});
}
else {
this.rootedDevice = undefined;
this.finalinitializeApp();
}
}
finalinitializeApp(){
this.statusBar.styleDefault();
this.splashScreen.hide();
this.rootPage = LandingPage;
}