在整个应用程序中检查 android studio 中的互联网连接。 (我们是不是需要在每个 java 活动中编写连接管理器函数?) [重复]
Posted
技术标签:
【中文标题】在整个应用程序中检查 android studio 中的互联网连接。 (我们是不是需要在每个 java 活动中编写连接管理器函数?) [重复]【英文标题】:Check internet connection in android studio throughout the application. (Do we need to write connectivity manager function in each java activity?) [duplicate]在整个应用程序中检查 android studio 中的互联网连接。 (我们是否需要在每个 java 活动中编写连接管理器函数?) [重复] 【发布时间】:2021-03-31 08:55:53 【问题描述】:我制作了一个 android studio 项目,但我需要在每次用户交互期间检查互联网连接。我知道连接管理器和其他几个功能的用法,但是这需要在每个活动中实现。任何人都可以提供任何更好的解决方案或更好的想法。以便应用程序在互联网关闭时显示一个对话框。
【问题讨论】:
【参考方案1】:你可以用这个方法
boolean connected = false;
ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectivityManager.getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED)
//we are connected to a network
connected = true;
else
connected = false;
警告:如果您连接到不包括互联网访问或需要基于浏览器的身份验证的 WiFi 网络,则仍为已连接。
您需要在清单中获得此权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
【讨论】:
NetworkInfo 已被 API 29 弃用 更新到 getActiveNetworkInfo getActiveNetworkInfo 也已弃用。您应该将回调与 registerDefaultNetworkCallback() 一起使用,但我不知道它最初是否有效。我的意思是在打开应用程序时检查是否有连接。以上是关于在整个应用程序中检查 android studio 中的互联网连接。 (我们是不是需要在每个 java 活动中编写连接管理器函数?) [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 Android Studio 上使用 Java 检查实时数据库上的重复数据
如何检查 id String 是不是为空,然后在 android studio 中定义一个默认值是不是为空