/**
* Wifi广播接收
*/
private BroadcastReceiver mNetworkStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction() == WifiManager.NETWORK_STATE_CHANGED_ACTION){
NetworkInfo networkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
WifiInfo wifiInfo = intent.getParcelableExtra(WifiManager.EXTRA_WIFI_INFO);
Log.d(TAG, "networkInfo="+networkInfo);
Log.d(TAG, "wifiInfo="+wifiInfo);
if(networkInfo!=null){
if(networkInfo.isAvailable()){
if(networkInfo.getType()==ConnectivityManager.TYPE_WIFI){
closeWifiCloseView();
Log.d(TAG, "networkInfo="+networkInfo.isAvailable());
Log.d(TAG, "networkInfo="+networkInfo.getState());
if(networkInfo.getState() == State.CONNECTED){
isConnWifiing = false;
setViewData();
if (!isLocationing && RuntimeUtils.bdLocation == null) {
isGoRefresh = true;
starLocation();
}
if (nearAbleWiFiFrg != null && !nearAbleWiFiFrg.isHidden()) {
nearAbleWiFiFrg.notifyWifiAble();
nearAbleWiFiFrg.updataWifiList();
}
if (nearAbleIcengWiFiFrg != null) {
nearAbleIcengWiFiFrg.updataWifiList();
}
}else if(networkInfo.getState() == State.CONNECTING){
if(wifiInfo!=null){
setConningView(wifiInfo.getSSID());
}
}else if(networkInfo.getState() == State.DISCONNECTED){
setDisConnWifi();
}else if(networkInfo.getState() == State.DISCONNECTING){
}
}else{
setWifiCloseView();
}
}else{
setDisConnWifi();
}
}
}
if(intent.getAction() == WifiManager.WIFI_STATE_CHANGED_ACTION){
switch (intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 0)) {
case WifiManager.WIFI_STATE_DISABLED:
Log.d(TAG, "WIFI_STATE_DISABLED=");
break;
case WifiManager.WIFI_STATE_DISABLING:
Log.d(TAG, "WIFI_STATE_DISABLING=");
break;
case WifiManager.WIFI_STATE_ENABLED:
Log.d(TAG, "WIFI_STATE_ENABLED=");
break;
case WifiManager.WIFI_STATE_ENABLING:
Log.d(TAG, "WIFI_STATE_ENABLING=");
break;
default:
break;
}
}
// if(intent.getAction() == ConnectivityManager.CONNECTIVITY_ACTION){
// if (NetworkUtils.isNetAble(mContext)) {
// if (WifiConnect.getIntance().isOpened()) {// wifi打开
// closeWifiCloseView();
// State wifiState = WifiConnect.getIntance().getWifiState();
// Log.d(TAG, "State=" + wifiState.name());
// if (wifiState == State.CONNECTED) {
// isConnWifiing = false;
// setViewData();
// if (!isLocationing && RuntimeUtils.bdLocation == null) {
// isGoRefresh = true;
// starLocation();
// }
// if (nearAbleWiFiFrg != null && !nearAbleWiFiFrg.isHidden()) {
// nearAbleWiFiFrg.notifyWifiAble();
// nearAbleWiFiFrg.updataWifiList();
// }
// if (nearAbleIcengWiFiFrg != null) {
// nearAbleIcengWiFiFrg.updataWifiList();
// }
// } else if (wifiState == State.CONNECTING) {
// setConnectedIceng();
// } else if (wifiState == State.DISCONNECTED) {
// setDisConnIceng();
// }
// }else{
// setWifiCloseView();
// }
// } else {//无wifi|3G
// setDisConnIceng();
// //setWifiCloseView();
// //gotoNetworkErrorPage();
// }
// }
}
};
Wi-Fi广播监听
时间: 2024-10-14 13:54:36
Wi-Fi广播监听的相关文章
Android开发之使用广播监听网络状态变化
我们经常需要判断网络状态的变化,如有无网络,所以需要监听网络状态的变化,比如网络断开,网络连接给予友好提示.如何监听网络状态的变化呢,最近工作中需要用到这个,于是就用广播机制来实现了网络状态的监听. 使用广播机制来监听网络状态主要涉及到以下几点: 1.需要自己编写个网络广播接收器,该接收器继承BroadcastReceiver类,用来接收系统发出的广播.比如我自己写了个NetStatusReceiver广播接收器.代码如下: package com.log.system; import andr
Android开机和关机广播监听
Android开机.关机广播监听 一.开机广播的监听 1.在AndroidManifest.xml文件注册接收开机广播 <receiver android:name=".XXXBroadcastReceiver" > <intent-filter> <!-- 开机广播 --> <action android:name="android.intent.action.BOOT_COMPLETED" /> </inte
关于 Android ios cocos2d 中的广播监听
1. 关于广播监听 第一次使用是在Android中,broadcast.主要用在2个activity之间进行传递数据,发出一个广播,对这个广播有兴趣的就去监听它,做出相应的回应即可.主要是传递数据,触发机制比较好,跟全局变量或者单例有点像,但是使用场合有区别,比如2个activity之间传递数据,activity这种有生命周期的弄成全局变量和单例就不合适了. 2.Android的广播 发送广播: Intent intent = new Intent("OUR_BLE_CENTRAL_MANAGE
Android -- 使用广播监听Home键
//广播监听事件类 public class HomeKeyEventBroadCastReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { //do what you want System.exit(0); } } private HomeKeyEventBroadCastReceiver homeKeyEventReceiver; prote
Android利用广播监听按下HOME和电源键
package cc.testhome; import cc.testhome.HomeKeyObserver.OnHomeKeyListener; import cc.testhome.PowerKeyObserver.OnPowerKeyListener; import android.os.Bundle; import android.app.Activity; /** * Demo描述: * 利用广播监听Home键的按下和长按Home键 * 利用广播监听电源键的按下(关闭屏幕) * *
Android 广播监听wifi
第一步:配置AndroidManifest.xml,在application结点下面添加如下代码 <receiver android:name=".NetworkConnectChangedReceiver" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="a
Android手机使用广播监听手机收到的短信
我们使用的Android手机在收到短信的时候会发出一条系统广播.该条广播中存放着接收到的短信的详细信息.本文将详细介绍如何通过动态注册广播来监听短信. 注册广播有两种方式,一种是动态注册,另一种是静态注册.动态注册,顾名思义就是在程序运行时注册的,需要用到广播的时候就注册,用完即销毁.静态注是在AndroidManifest.xml中注册的,在<application>中使用<receiver>标签注册. 那么如何创建一个监听短信的广播接收器呢,其实只需要新建一个类,让这个类继承B
默认开机启动;通过Broadcastreceiver广播监听开机启动,实现";没有activity";的自启服务或者自启应用程序。
一.首先介绍一下如何开机启动: 第一种: 监控RECEIVE_BOOT_COMPLETED,即开机启动事件 第二种: 监控sd卡mount事件 开机总会扫描sd卡吧? 监控sd卡事件也有类似开机启动效果,特别app安装在sd卡的情况下有些os是抓取不到RECEIVE_BOOT_COMPLETED 第三种: android:installLocation="internalOnly", 限制app的安装位置,使其能抓取到RECEIVE_BOOT_COMPLETED 我们也可以同时使用
广播监听手机中应用程序是否安装并卸载
public class PackageReceiver extends BroadcastReceiver { private static final int PACKAGE_NAME_INDEX = 8; @Override public void onReceive(Context context, Intent intent) { if (intent != null) { /**安装程序的ACTION为Intent.ACTION_PACKAGE_ADDED*/ if (intent.
求助 利用广播监听 手机拨号 在虚拟机上能运行 真机没法应
部分代码 如下 求大神 解答 public class OutgoingCallReceiver extends BroadcastReceiver { @SuppressLint("ShowToast") @Override public void onReceive(Context context, Intent intent) { String phone = this.getResultData();//得到外拔电话 System.out.println("拨号&