Я проверяю интернет-соединение в 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 Manifyt так:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Затем, когда я запускаю tns debug android Я все еще получаю сообщение об ошибке:
JS: ошибка: java.lang.SecurityException: ConnectivityService:
Ни пользователь 10224, ни текущий процесс не имеют
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 $ Заглушка $ Proxy.getActiveNetworkInfo (IConnectivityManager.java:1216)
JS:
android.net.ConnectivityManager.getActiveNetworkInfo (ConnectivityManager.java:903)
JS: com.tns.Runtime.callJSMethodNative (собственный метод) 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: также пробовал tns запустить Android , но с той же ошибкой.
Спасибо!