在开发过程中,特别是开发和网络相关的一些应用,很可能会用到网络链接状态,包括GPRS、WIFI等等,总结了一下,其实这些问题很简单,Android提供了两个类,一个是ConnectivityManager,一个是NetworkInfo。
比方说下面这个例子就是判断当前网络GPRS和WIFI的状态
- import android.content.Context;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- public class Test extends Activity {
- private ConnectivityManager cm;
- private NetworkInfo info;
- /** Called when the activity is first created. */
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
- if (cm.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED)
- {
- text.setText("WIFI已经连接");
- }
- else {
- text.setText("WIFI未连接");
- }
- if (cm.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED)
- {
- text.setText("GPRS已经连接");
- }
- else {
- text.setText("GPRS未连接");
- }
- }
- }
注:需要在AndroidManifest.xml中添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
其他功能大家可以去阅读这两个类,相信很多问题都能迎刃而解了