Ионная корневая страница не загружается после корневой проверки
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;
}