實現 代碼如下
package Android.HelloAndroid;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.os.Bundle;
import android.widget.TextView;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.NetworkInfo.State;
public class Hello extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText(“檢測網絡狀態”);
setContentView(tv);
checkNetworkInfo();
goodNet();
}
public boolean goodNet()
{
ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo networkinfo = manager.getActiveNetworkInfo();
if (networkinfo == null || !networkinfo.isAvailable()) {
new AlertDialog.Builder(this).setMessage(“沒有可以使用的網絡”).setPositiveButton(“Ok”, null).show();
return false;
}
new AlertDialog.Builder(this).setMessage(“網絡正常可以使用”).setPositiveButton(“Ok”, null).show();
return true;
}
private void checkNetworkInfo()
{
ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); //mobile 3G Data Network
State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
new AlertDialog.Builder(this).setMessage(mobile.toString()).setPositiveButton(“3G”, null).show();//顯示3G網絡連接狀態
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
new AlertDialog.Builder(this).setMessage(wifi.toString()).setPositiveButton(“WIFI”, null).show();//顯示wifi網絡連接狀態
}
}
需要註意:
根據Android的安全機制,在使用ConnectivityManager時,必須在AndroidManifest.xml中添加<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” /> 否則無法獲得系統的許可。