- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望在我的项目中实现一个简单的方法 isInternetAvailable
,它根据调用时互联网(任何网络)是否可用返回 true 或 false。
不幸的是 getActiveNetworkInfo
从 21 开始被弃用,getActiveNetwork
需要最低 API 级别 23(我的是 21)。
我已经读过有关NetworkCallback
的内容,但这似乎是在通知网络变化时,我需要一种方法来判断网络现在是否可用。
最佳答案
使用NetworkCapabilities
像这样:
fun isNetworkAvailable(): Boolean {
return connectivityManager.run {
getNetworkCapabilities(activeNetwork)?.run {
when {
hasTransport(NetworkCapabilities.TRANSPORT_WIFI) -> true
hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR) -> true
hasTransport(NetworkCapabilities.TRANSPORT_ETHERNET) -> true
else -> false
}
} ?: false
}
}
关于android - 检查互联网是否可用(targetSdk : Android Q),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57199632/
我正在构建一个 Android 应用程序,该应用程序应在每台具有蓝牙低功耗的设备上运行,这意味着 minSDK 为 18。不过,我不确定应该使用哪个 targetSDK。我在网上看到,最好始终为此使用
我正在经历这个 article ,它说 将项目的 compileSdkVersion 和 targetSdkVersion 更新为 API 28 。所以我做了,但是支持库给出了错误,比如支持库不应该使
我想知道使用 targetSDK > buildTarget 的后果。 我最近观察到,如果我在平板电脑上保留 buildTarget=16 和 targetSDK=17 选项卡(运行 4.1.1, A
我有一个 Android 应用程序,它只需要访问互联网,并且希望以 API 级别 3 (1.5) 为目标,以覆盖最广泛的手机用户群。但是,似乎以 API 级别 3 为目标隐含地需要两个对用户可见的额外
我希望在我的项目中实现一个简单的方法 isInternetAvailable,它根据调用时互联网(任何网络)是否可用返回 true 或 false。 不幸的是 getActiveNetworkInfo
我正在使用 Android Build Target API 24 (OS 7) 编写 Android 应用程序。对于 API 23 及以上版本,我必须提示 ACCESS_COARSE_LOCATIO
当我在 google PlayStore 上为我的应用程序上传更新时,它显示一条警告说我的应用程序必须有 target sdk >= 28 直到八月。我的应用使用 target sdk = 27 问题
我正在尝试制作一个具有抽屉功能的应用程序,并想设置手机上已经拥有谷歌帐户的用户的姓名、电子邮件和个人资料图片。但是,我不希望用户要求登录,所以我使用了 AccountManager.get(this)
如何在 android studio 中将应用程序的目标 sdk 从 api 10 更改为 api 17?我的应用程序在 4.1 版本的 android 移动设备中没有从互联网接收数据,但在 2.3.
将我的 targetSDK 版本更新到 28 后,我无法使用 SnackBar Must be one of BaseTransientBottomBar.LENGTH_INDEFINITE, Bas
我有应用程序(当前 targetsdkversion 是 23)在版本 4.4 和 5.1 中运行,但使用 6.0 它需要运行时权限。 这需要一些编码更改,我宁愿推迟一段时间。将 targetsdkv
我正在尝试禁用 Android StrictMode 检查之一 - 检测未标记的套接字。 我有几个理由这样做: 我们的应用程序中使用的一些库,例如Crashlytics/毕加索等 在内部使用 OkHt
在合并 AndroidManifest 文件的过程中,当主项目和库项目的 minSDKVersions 不匹配时,Android Studio 会抛出构建错误。这意味着我必须重新访问我的应用程序支持的
我刚刚将一个项目从 Exclipse 迁移到 Android Studio。build.gradle 文件有一个部分包括: defaultConfig { applicationId "com
根据Google ,从 2021 年 8 月开始,所有新的 Google Play 应用程序除了派生为 Android 应用程序包外,都需要以 API 30 为目标。此外,从 2021 年 11 月开
这是我的配置和我的异常,我不知道如何解决这个问题? compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applic
上下文: meteor 1.8.0.1 Cordova 6.4.0(包含在 Meteor 中) phonegap-plugin-push 1.11.1(支持 GCM 的最新版本) 通过 Amazon
我在 Playstore 中有一个 Flutter 应用程序,如果你有 Android 12,它只会弹出一条错误消息: “无法安装 AppName” 我的 Flutter 版本是 2.5.0 由于我的
我已经从版本 0.64.1 升级了 react-native至0.65.0-rc.3因为targetSdk=30需要从 8 月 1 日 21 日起将 bundle 发布到 Google Play。我正
我是一名优秀的程序员,十分优秀!