Ионная корневая страница не загружается после корневой проверки

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;
    }

0 ответов

Другие вопросы по тегам