我正在尝试检查我的蜂窝应用程序上是否有简单的连接。我已经尝试了两个不同版本的函数:
public boolean networkAvailable() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}和
private boolean networkAvailable(){
ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = connectionManager.getActiveNetworkInfo();
return activeNetwork != null;
}不过在我的Honeycomb平板电脑上,这两种方法都不起作用,无论我怎么调用它们,它们都会崩溃。在3.2 or...what上有没有什么特别的方法呢?
发布于 2011-11-29 00:24:18
这应该是可行的。您甚至可以区分可用的网络类型。确保您在清单中声明了以下权限。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>public void checkkStatus()
{
final ConnectivityManager connMgr = (ConnectivityManager)
this.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi =
connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile =
connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if( wifi.isAvailable() ){
Toast.makeText(this, "Wifi" , Toast.LENGTH_LONG).show();
}
else if( mobile.isAvailable() ){
Toast.makeText(this, "Mobile 3G " , Toast.LENGTH_LONG).show();
}
else
{Toast.makeText(this, "No Network " , Toast.LENGTH_LONG).show();}
}发布于 2011-11-29 00:16:04
试试这个:
public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}https://stackoverflow.com/questions/8298745
复制相似问题