startActivity не определено при запуске приложения Nativescript-Vue без использования Playground - PullRequest
0 голосов
/ 25 июня 2018

Я создал очень маленькое приложение, и для Android оно показывает переход в режим погружения при загрузке первой страницы.У меня проблема в том, что app.android.startActivity не определено, и поэтому я не могу получить окно декора, чтобы изменить видимость пользовательского интерфейса системы.Если я проверяю через Chrome Devtools, я могу легко получить доступ к StartActivity, и когда я пытаюсь использовать тот же код на игровой площадке, он отлично работает.

<template>
 <Page
  class="page page__start"
  actionBarHidden="true"
  backgroundSpanUnderStatusBar="true"
  @loaded="pageLoaded"
>
 <StackLayout>
   <FlexboxLayout flexDirection="column">
   </FlexboxLayout>
 </StackLayout>
 </Page>
</template>

<script>
 export default {
 methods: {
  pageLoaded: (args) => {
    const app = require('application');
    const platform = require('platform');
    const View = android.view.View;

    if (app.android && platform.device.sdkVersion >= '21') {
      const window = app.startActivity.getWindow();
      const decorView = window.getDecorView();
      decorView.setSystemUiVisibility(
        View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_FULLSCREEN
        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
    }
  }
 }
};

Обновление: вот package.json,Я не думаю, что это проблема зависимостей, поскольку приложение и платформа не должны быть зависимостями.

"dependencies": {
  "@teammaestro/nativescript-svg": "^1.0.1",
  "ajv": "^6.5.1",
  "nativescript-theme-core": "^1.0.4",
  "nativescript-vue": "^1.3.1",
  "tns-core-modules": "~3.4.1",
  "vue-router": "^3.0.1",
  "vuex": "^3.0.1"
},
"devDependencies": {
  "babel-core": "^6.26.0",
  "babel-loader": "^7.1.4",
  "babel-plugin-transform-object-rest-spread": "^6.26.0",
  "babel-preset-env": "^1.6.1",
  "copy-webpack-plugin": "^4.5.1",
  "css-loader": "^0.28.11",
  "extract-text-webpack-plugin": "^3.0.2",
  "fs-extra": "^5.0.0",
  "nativescript-vue-externals": "^0.2.0",
  "nativescript-vue-loader": "^0.1.5",
  "nativescript-vue-target": "^0.1.0",
  "nativescript-vue-template-compiler": "^1.3.1",
  "node-sass": "^4.7.2",
  "ns-vue-loader": "^0.1.2",
  "optimize-css-assets-webpack-plugin": "^3.2.0",
  "rimraf": "^2.6.2",
  "sass-loader": "^6.0.7",
  "vue-template-compiler": "^2.5.16",
  "webpack": "^3.11.0",
  "webpack-synchronizable-shell-plugin": "0.0.7",
  "winston-color": "^1.0.0"
}

Здесь ссылка на работающую площадку: https://play.nativescript.org/?template=play-vue&id=m1qdiD

Ответы [ 2 ]

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

У меня возникла та же проблема, и я заработал, просто позвонив по номеру startActivity из app.android.startActivity из app.startActivity.

0 голосов
/ 25 июня 2018

Если это работает на детской площадке.Это может быть проблемой зависимости.Вы установили все плагины, используя npm?Было бы здорово, если бы вы могли добавить версии зависимостей из package.json.Здесь может быть потенциальная ошибка: const app = require('application'); const platform = require('platform'); Также проверьте, есть ли у вас тег.Я рекомендую поделиться URL-адресом вашей игровой площадки NativeScript-Vue.

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