Здравствуйте, ребята: я использую следующий сценарий для Android разработки собственных приложений:
Android Studio 3.6.2 Плагин Graddle 3.6.2 Graddle версия 5.6.4 Kotlin версия 1.3. 61
Когда я делаю это внедрение зависимостей в свой build.graddle
Implementation 'com.foursquare:foursquare-android-oauth:1.1.0'
Следующий класс: android. net .ConnectivityManager
не может быть найдено в процессе сборки. Или, по крайней мере, он не имеет ожидаемых свойств.
Я реализовал следующий метод для обнаружения соединения inte rnet:
package com.example.ejoauth.networkconnection
import android.content.Context
import android.net.ConnectivityManager
import android.net.NetworkCapabilities
class NetworkConnectionStatus {
companion object {
// This code depends on the target SDK version
fun isInternetAvailable(context: Context): Boolean {
var result : Boolean = false
val connectivityManager: android.net.ConnectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as android.net.ConnectivityManager
val network : android.net.Network = connectivityManager.activeNetwork ?: return false // <---- Error
val nwCap : android.net.NetworkCapabilities = connectivityManager.getNetworkCapabilities(network) ?: return false // <---- Error
result = when {
nwCap.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
nwCap.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
nwCap.hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
else -> false
}
return result
}
}
}
В процессе сборки вызываются следующие ошибки ( появляется только после внедрения зависимости "Foursquare")
D: \ clcwork \ kotlin \ EjOauth \ app \ src \ main \ java \ com \ example \ ejoauth \ networkconnection \ NetworkConnectionStatus.kt: (15, 69): Неразрешенная ссылка: activeNetwork D: \ clcwork \ kotlin \ EjOauth \ app \ src \ main \ java \ com \ example \ ejoauth \ networkconnection \ NetworkConnectionStatus.kt: (16, 79): Неразрешенная ссылка : getNetworkCapabilities
Кажется, что библиотеки "Foursquare" перезаписывают некоторые выражения или пакеты другой реализацией, в которой атрибуты или методы теряются. Единственное решение, которое я нашел до сих пор, не реализует этот метод «NetworkConnectionStatus.isInternetAvailable». Но это не решение. Как видите, я явно указываю пакеты в моем коде.
Можете ли вы мне помочь, пожалуйста?
Заранее благодарю