Приложение Nativescript не может быть создано после добавления platform.js - PullRequest
0 голосов
/ 13 января 2019

У меня есть приложение Nativscript 5.0, которому нужен доступ к информации о платформе (устройство, экран). Я добавил модуль ядра tns platform.js, а затем перестроил весь проект с помощью «tns run android».

Теперь я получаю эту ошибку:

System.err: TypeError: Cannot read property 'getContentResolver' of undefined
tns_modules/tns-core-modules/platform/platform.js', line: 79, column: 83

Эта ошибка относится к этому коду в platform.android.js:

Object.defineProperty(Device.prototype, "uuid", {
        get: function () {
            if (!this._uuid) {
                var nativeApp = appModule.android.nativeApp;
                this._uuid = android.provider.Settings.Secure.getString(nativeApp.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
            }
            return this._uuid;
        },
        enumerable: true,
        configurable: true
    });

В частности, nativeApp кажется неопределенным. Я запускаю этот код через симулятор Android. Что мне здесь не хватает? мне нужно где-то явно определить ОС, чтобы предотвратить эту ошибку?

Спасибо

1 Ответ

0 голосов
/ 14 января 2019

Вы должны обращаться к модулю платформы слишком рано, даже до того, как экземпляр nativeApp будет полностью инициализирован и готов к использованию.

Вы можете дождаться события displayed / activityCreated или просто события loaded любого компонента, что гарантирует, что nativeApp будет готов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...