ионная корневая страница не загружается после корневой проверки - PullRequest
0 голосов
/ 11 декабря 2018

Приложение 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;
    }
...