Ошибка при проверке возможности подключения на Nativescript

Я проверяю подключение к Интернету в nativescript. Я написал следующий код:

  startMonitoring(): void {
    connectivity.startMonitoring((newConnectionType: number) => {
      switch (newConnectionType) {
          case connectivity.connectionType.none:
              this.connectionType = "None";
              console.log("Connection type changed to none.");
              break;
          case connectivity.connectionType.wifi:
              this.connectionType = "Wi-Fi";
              console.log("Connection type changed to WiFi.");
              break;
          case connectivity.connectionType.mobile:
              this.connectionType = "Mobile";
              console.log("Connection type changed to mobile.");
              break;
          default:
              break;
      }
    });  
  }

и добавил разрешение на Android Manifest следующим образом:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Затем, когда я запускаю отладка tns для андроида, я все еще получаю сообщение об ошибке:

JS: ERROR Error: java.lang.SecurityException: ConnectivityService: Neither user 10224 nor current process has android.permission.ACCESS_NETWORK_STATE. JS:
android.os.Parcel.readException(Parcel.java:1954) JS:
android.os.Parcel.readException(Parcel.java:1900) JS:
android.net.IConnectivityManager$Stub$Proxy.getActiveNetworkInfo(IConnectivityManager.java:1216) JS:
android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.java:903) JS: com.tns.Runtime.callJSMethodNative(Native Method) JS:
com.tns.Runtime.dispatchCallJSMethodNative(Runtime.java:1203) JS:
com.tns.Runtime.callJSMethodImpl(Runtime.java:1083) JS:
com.tns.Runtime.callJSMethod(Runtime.java:1070) JS:
com.tns.Runtime.callJSMethod(Runtime.java:1050) JS:
com.tns.Runtime.callJSMethod(Runtime.java:1042) JS:
com.tns.gen.android.content.BroadcastReceiver_vendor_119374_32_BroadcastReceiver.onReceive(BroadcastReceiver_vendor_119374_32_BroadcastReceiver.java:19) JS:
android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDisp...

Странно, что я все еще получаю сообщение об ошибке, хотя я уже добавил разрешение. Почему это происходит?

PS: Также пробовал тнс запустить андроид, но с той же ошибкой.

Спасибо!

Пробовали чистую сборку?

Manoj 22.05.2019 14:23

как именно это сделать? Я попытался удалить приложение, а затем снова запустить tns run android. Это все еще не сработало

iamjc015 22.05.2019 14:47

Попробуйте tns платформа чистая или просто удалите папку platforms.

Manoj 22.05.2019 14:48

Кстати, почему это работает?

iamjc015 22.05.2019 14:50
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Обработка ошибок при выполнении HTTP-запросов в JavaScript.
Обработка ошибок при выполнении HTTP-запросов в JavaScript.
Каждый проект должен выполнять HTTP-запросы, и, конечно, некоторые из этих запросов могут содержать ошибки. Нам нужно знать, как обрабатывать эти...
Включение UTF-8 в jsPDF с помощью Angular
Включение UTF-8 в jsPDF с помощью Angular
Привет, разработчики, я предполагаю, что вы уже знаете, как экспортировать pdf через jsPDF. Если ответ отрицательный, то вы можете ознакомиться с моей...
0
4
432
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте чистую сборку.

Запустите tns платформа чистая Или просто удалите папку platforms, затем выполните tns [run | debug]

Всякий раз, когда вы меняете что-либо внутри App_Resources или добавляете какие-либо плагины/нативные зависимости, нативный проект необходимо перекомпилировать. В противном случае отправляется только обновленный код JavaScript, и приложение обновляется. В большинстве случаев CLI определяет, когда вам нужна чистая сборка, и позаботится о себе, но иногда она может дать сбой, как в вашем случае, тогда вам нужно выполнить чистую сборку вручную, чтобы убедиться, что собственный проект обновлен с учетом последних изменений конфигурации.

Manoj 22.05.2019 14:56

Прохладный! Большое спасибо!

iamjc015 23.05.2019 06:04

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