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

我想检查每个活动中的Internet连接。如果丢失,则应显示一条消息。

谁能指导我如何实现这一目标?


MYYA
浏览 515回答 3
3回答

慕尼黑8549860

您可以使用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" />

Helenr

在任一点上只能有一个连接处于活动状态。因此,一个简单的答案是:final ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo();if (activeNetwork != null && activeNetwork.isConnected()) {&nbsp; &nbsp; // notify user you are online} else {&nbsp; &nbsp; // notify user you are not online}&nbsp;它还适合任何新型网络,例如ConnectivityManager#TYPE_WIMAX另外,请确保您具有监视网络状态所需的权限。您需要将此权限添加到您的AndroidManifest.xml中:<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
打开App,查看更多内容
随时随地看视频慕课网APP