-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連接丟失