欢迎使用CSDN-markdown编辑器

来源:互联网 发布:java画图程序源代码 编辑:程序博客网 时间:2024/05/16 19:46

1.添加权限

    <uses-permission android:name="android.permission.INTERNET"/>                   <!-- 网络权限 -->    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>       <!-- 网络检测 -->

2.BaseActivity

public class BaseActivity extends Activity {    private OnNetListener onNetListener;    protected NetBroadcastReceiver netBroadcastReceiver;    /**     * 注册net广播     */    @Override    protected void onStart() {        // TODO Auto-generated method stub        IntentFilter filter = new IntentFilter();        filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);        netBroadcastReceiver = new NetBroadcastReceiver();        registerReceiver(netBroadcastReceiver, filter);        super.onStart();    }    @Override    protected void onStop() {        // TODO Auto-generated method stub        super.onStop();    }    /**     * 关闭net广播     */    @Override    protected void onDestroy() {        // TODO Auto-generated method stub        super.onDestroy();        unregisterReceiver(netBroadcastReceiver);    }    /**     * 网络广播监听     * @author Administrator     *     */    class NetBroadcastReceiver extends BroadcastReceiver{        @Override        public void onReceive(Context context, Intent intent) {            // TODO Auto-generated method stub            int NetType = -1;            String NetName = "没有网络";            ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);            NetworkInfo netInfo = mConnectivityManager.getActiveNetworkInfo();            if(netInfo != null && netInfo.isAvailable()){                switch (netInfo.getType()) {                case ConnectivityManager.TYPE_MOBILE:NetType = 0;break;                case ConnectivityManager.TYPE_WIFI:NetType = 1;break;                case ConnectivityManager.TYPE_ETHERNET:NetType = 2;break;                default:                    break;                }                NetName = netInfo.getTypeName();            }            onNetListener.onNetLoader(NetType,NetName);        }    }    public void setOnNetListener(OnNetListener onNetListener){        this.onNetListener = onNetListener;    }    public abstract interface OnNetListener{        /**         * -1 :无网络   0:2g/3G     1:wifi 2:有线网         * @param netType         * @param NetName         */        public abstract void onNetLoader(int netType,String NetName);    }}
  1. 继承BaseActivity ,在使用的地方调用回调函数
setOnNetListener(new OnNetListener() {            @Override            public void onNetLoader(int netType, String NetName) {                // TODO Auto-generated method stub                Toast.makeText(LoginActivity.this, NetName, Toast.LENGTH_SHORT).show();            }        });
0 0
原创粉丝点击