为了账号安全,请及时绑定邮箱和手机立即绑定

您如何在android中检查互联网连接?

您如何在android中检查互联网连接?

MYYA 2019-12-12 14:28:20
我想检查每个活动中的Internet连接。如果丢失,则应显示一条消息。谁能指导我如何实现这一目标?
查看完整描述

3 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

您可以使用ConnectivityManager来检查网络状态。


ConnectivityManager conMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);


if ( conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED 

    || conMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED ) {


    // notify user you are online


}

else if ( conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.DISCONNECTED 

    || conMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.DISCONNECTED) {


    // notify user you are not online

}

请注意,常量ConnectivityManager.TYPE_MOBILE和ConnectivityManager.TYPE_WIFI表示连接类型,并且这两个值并不详尽。


另外,请确保您具有监视网络状态所需的权限。您需要将此权限添加到您的AndroidManifest.xml中:


<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


查看完整回答
反对 回复 2019-12-12
?
Helenr

TA贡献1780条经验 获得超3个赞

在任一点上只能有一个连接处于活动状态。因此,一个简单的答案是:


final ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo();

if (activeNetwork != null && activeNetwork.isConnected()) {

    // notify user you are online

} else {

    // notify user you are not online

它还适合任何新型网络,例如ConnectivityManager#TYPE_WIMAX


另外,请确保您具有监视网络状态所需的权限。您需要将此权限添加到您的AndroidManifest.xml中:


<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 543 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信