-3
A
回答
0
使用此方法来检查应用程序的互联网连接:
public class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
Intent networkStateIntent = new Intent(Constants.NETWORK_AVAILABLE_ACTION);
networkStateIntent.putExtra(Constants.IS_NETWORK_AVAILABLE, isConnectedToInternet(context));
LocalBroadcastManager.getInstance(context).sendBroadcast(networkStateIntent);
}
public boolean isConnectedToInternet(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
//should check null because in airplane mode it will be null
if (netInfo != null && netInfo.isConnected()) {
return true;
} else {
return false;
}
}
注册reciever清单文件是这样的:
<receiver android:name=".utils.NetwrokConnection.NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
</receiver>
使用这种方法在活动中要检查连接:
public void networkConnection() {
IntentFilter intentFilter = new IntentFilter(Constants.NETWORK_AVAILABLE_ACTION);
LocalBroadcastManager.getInstance(this).registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
boolean isNetworkAvailable = intent.getBooleanExtra(Constants.IS_NETWORK_AVAILABLE, false);
Dialogs.getInstance().showSnackbar(activity,(View) rootlayout, isNetworkAvailable);
}
}, intentFilter);
}
同时在menifest文件中添加权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
相关问题
- 1. 如何检测TCP连接丢失?
- 2. 如何检测套接字连接何时丢失?
- 3. Java serversocket未检测到丢失连接
- 4. JDBC检测到丢失的连接
- 5. 如何检查连接是否丢失
- 6. 如何检测何时在Webview中丢失/中断连接?
- 7. 如何检测CFStream/NSStream丢失的连接?
- 8. 如何检测vlcj中丢失的连接
- 9. 如何检测ActiveMQ订阅服务器中的连接丢失
- 10. Android Autobahn Websocket客户端如何检测连接丢失?
- 11. 连接丢失
- 12. 广播接收机没有检测到wifi连接丢失
- 13. 检测TCP丢失?
- 14. 模拟测试中的连接丢失
- 15. Android - 检查蓝牙连接丢失吗?
- 16. 丢失的连接
- 17. WinDivert连接丢失
- 18. SSIS连接丢失
- 19. SSH连接丢失
- 20. NSURLConnection丢失连接
- 21. 使用poll进行连接丢失检测()
- 22. 检测到修复网关的连接丢失? (QuickFix)
- 23. 检测火花流中丢失的连接
- 24. SO_KEEPALIVE:检测丢失或终止的连接
- 25. Delphi XE 7 Indy IRC检测连接丢失
- 26. 的Qt - QTcpSocekt无法检测到连接丢失
- 27. 检测服务器和客户端之间的连接丢失
- 28. iOS VoIP应用程序检测连接丢失
- 29. 水平连接质心并检测丢失的对象
- 30. 在Windows上检测服务器端的RPC连接丢失