1
A
回答
0
您可以使用BroadcastReceiver
在Internet連接更改時通知您的應用程序。
清單:
<receiver android:name="com.example.app.ConnectivityChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
的BroadcastReceiver
本身:
public class ConnectivityChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (isOnline(context)) {
debugIntent(intent, "grokkingandroid");
}
}
private boolean isOnline(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
return (netInfo != null && netInfo.isConnected());
}
private void debugIntent(Intent intent, String tag) {
Log.v(tag, "action: " + intent.getAction());
Log.v(tag, "component: " + intent.getComponent());
Bundle extras = intent.getExtras();
if (extras != null) {
for (String key: extras.keySet()) {
Log.v(tag, "key [" + key + "]: " +
extras.get(key));
}
}
else {
Log.v(tag, "no extras");
}
}
}
+0
謝謝,但你讓我的問題錯了。我正在討論如何使用okhttp攔截器來統一網絡連接檢查。 – 2015-03-02 09:23:27
+0
也許這個問題還不夠清楚 – Gorcyn 2015-03-02 09:27:19
+0
也許你沒有看到okhttp標籤。 – 2015-03-02 09:34:47
相關問題
- 1. 使用Retrofit:2.0與Okhttp(攔截器)
- 2. Android - OkHttp攔截器調用onFailure
- 3. 檢查網絡連接
- 4. 檢查網絡連接iPhone
- 5. OkHttp 3攔截列表
- 6. Retrofit2:OkHttp攔截器中的@Path參數
- 7. 是否可以使用註釋來連接Spring MVC攔截器?
- 8. libpcap網絡流量攔截
- 9. 檢查網絡連接是否可用
- 10. Angular.js攔截器關閉連接
- 11. Java mysql攔截連接
- 12. 問題檢查網絡連接
- 13. 檢查網絡連接的android
- 14. 如何檢查網絡連接?
- 15. Android的 - 檢查網絡連接
- 16. 檢查Flash中的網絡連接?
- 17. 檢查是否連接到網絡; jQuery
- 18. 檢查libGDX中的網絡連接
- 19. 檢查片段中的網絡連接
- 20. struts2檢查權限攔截器
- 21. 攔截器檢查的CSS和js
- 22. 檢測網絡連接
- 23. 攔截器不攔截
- 24. Swift中的IPv6網絡上的網絡連接檢查崩潰
- 25. 如何使用hibernate攔截器來填充連接表中的額外字段?
- 26. 使用Angular 4檢查網絡連接4
- 27. 如何使用活動檢查Android中的網絡連接性
- 28. 如何使用Windows API檢查網絡連接類型?
- 29. 攔截來自特定程序的網絡數據
- 30. EJB 3.1攔截器是「攔截器」嗎?
你考慮重寫'OkHttpClient'本身? – Gorcyn 2015-03-02 09:36:03