Android 利用广播监视网络是否连接
2015-04-04 16:02
405 查看
继承BroadcastReceiver
在activity里注册广播
在配置文件里注册广播并添加权限
package com.haitun.msr; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.util.Log; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.webkit.WebView.FindListener; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; /** * 监听网络变化 */ public class NetworkReceiver extends BroadcastReceiver { //接受广播 @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); // 获取代表联网状态的NetWorkInfo对象 NetworkInfo networkInfo = connManager.getActiveNetworkInfo(); // 获取当前的网络连接是否可用 //boolean avail = networkInfo.isAvailable(); if (networkInfo != null) { Log.i("net", "Yes"); } else { Toast toast=Toast.makeText(context, null, Toast.LENGTH_LONG); LayoutInflater inflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v=inflater.inflate(R.layout.toast,new LinearLayout(context),false); TextView text=(TextView) v.findViewById(R.id.toast_text); text.setText("当前网络不可用,请检查"); toast.setView(v); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } } }
在activity里注册广播
package com.haitun.msr; import com.haitun.msr.R; import android.app.Activity; import android.content.IntentFilter; import android.os.Bundle; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import android.widget.Toast; public class LoginActivity extends Activity { private NetworkReceiver network=new NetworkReceiver(); @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); //注册广播 IntentFilter filter=new IntentFilter(); filter.addAction(android.net.ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(network, filter); } @Override protected void onDestroy() { //解除广播 unregisterReceiver(network); super.onDestroy(); } }
在配置文件里注册广播并添加权限
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <!-- 广播 --> <receiver android:name=".NetworkReceiver" android:label="networkreceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> </intent-filter> </receiver>
相关文章推荐
- Android利用广播监听设备网络连接(断网)的变化情况
- Android利用广播监听设备网络连接(断网)的变化情况
- Android 利用PhoneStatelistener 判断网络是否连接
- Android利用广播监听设备网络连接(断网)的变化情况
- Android判断网络连接是否可用(代码)
- android 检测网络是否连接
- Android检查是否已经连接到网络
- android判断是否连接网络
- android的网络是否连接状态检测及具体连接的网络类型
- Android 判断是否连接网络
- android中判断网络连接是否可用
- Android中判断网络连接是否可用
- android判断是否连接网络
- Android中判断网络连接是否可用及监控网络状态
- Android利用系统广播---监听网络变化
- Androidの网络Http之判断是否连接服务器
- android判断网络是否连接
- android 检查网络连接是否正常
- android判断网络是否连接
- android 是否联网 判断 (网络连接)