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