ConnectivityManager ActiveNetworkInfo.isConnnected имеет значение false при вызове из AppWidget - PullRequest
0 голосов
/ 25 октября 2018

Мое приложение запрашивает состояние сети в двух случаях.

  1. Если пользователь обновляет содержимое при открытом приложении.
  2. Если пользователь нажимает кнопку обновления в виджете.

В первом случае все работает нормально, но если пользователь нажимает кнопку обновления в виджете, сетевое соединение никогда не будет доступно.Во втором случае isNetworkAvailable() вызывается в AppWidgetProviders onReceive().

Следующий метод запрашивает состояние сети:

fun isNetworkAvailable(context: Context): Boolean {
    val mCM: ConnectivityManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    val mNetworkInfo: NetworkInfo? = mCM.activeNetworkInfo

    return mNetworkInfo != null && mNetworkInfo.isConnected
}

РЕДАКТИРОВАТЬ: Возможно ли эточто этот запрос невозможен, поскольку Android API> = 26 не позволяет выполнять фоновые задачи?

...