在做视频直播时,需要判断当前网络是否接通,并作相关提示:
建立程序,NetCheck.java:
package com.nc;
import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class NetCheck extends Activity {
Button click;
ConnectivityManager manager;
NetworkInfo networkinfo;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
manager = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
networkinfo = manager.getActiveNetworkInfo();
setContentView(R.layout.main);
click = (Button)findViewById(R.id.click);
click.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (networkinfo == null || !networkinfo.isAvailable()) {
Toast.makeText(NetCheck.this, "无网络信号,请检查网络设置", Toast.LENGTH_SHORT).show();
}else if(networkinfo.isConnected()){
Toast.makeText(NetCheck.this, "进入播放", Toast.LENGTH_SHORT).show();
}
}
});
}
}
主要是调用ConnectivityManager和NetworkInfo的方法,用NetworkInfo中的.isAvailable()和.isConnected()判断网络的的状态即可。
最后,重要说明的是:需要添加权限:<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
还有,在模拟器上运行,会一直都有网络状态,需要在真机上试。