我有一个IntentService,它可以进行一些web服务调用。在打这些电话之前,我会检查设备是否具有网络连接。我是这样做的:
private boolean isOnline() {
ConnectivityManager connec = (ConnectivityManager)getSystemService(getApplicationContext().CONNECTIVITY_SERVICE);
return connec.getNetworkInfo(0).isConnectedOrConnecting();
}
一些有趣的小道消息连接网络信息(0):
mIsAvailable = true
mNetworkType = 0
mTypeName = "mobile"
mState.name = "DISCONNECTED"
显然,这段代码是不够的(也许只有当我通过网络发送一些比特并打开收音机时,它才会返回true?)。此外,由于我对ConnectivityManager不太熟悉,我假设我应该扫描所有网络(即:getNetworkInfo(0到N))。
我怎样才能完成我想要的?