关于实时监听手机wifi信号和电量情况以及网络形式的改变
来源:互联网 发布:程序员mysql 书籍推荐 编辑:程序博客网 时间:2024/04/29 20:11
注册广播
private void registerBroadCast() { receiver = new PadReceiver(); IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_BATTERY_CHANGED); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(receiver,filter);}
private class PadReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { switch (intent.getAction()) { case Intent.ACTION_BATTERY_CHANGED://电池模块 int current = intent.getExtras().getInt("level", -1);//获得当前电量 int total = intent.getExtras().getInt("scale", -1);//获得总电量 int status = intent.getIntExtra("status", -1); int health = intent.getIntExtra("health", -1); int percent = current * 100 / total; charge.setText("电量" + percent + "%"); alarmCharge(status, health);//发出提醒等操作 break; case WifiManager.WIFI_STATE_CHANGED_ACTION://wifi模块 WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE); int level = Math.abs(wifiManager.getConnectionInfo().getRssi());//获取绝对值 int wifi_state = intent.getIntExtra("wifi_state", 0);//获取wifi状态 changeState(wifi_state);//发出提醒等操作 break;case ConnectivityManager.CONNECTIVITY_ACTION://网络形式改变2g,3g,4g,wifiString type = NetUtil.getNetType(this);//http://blog.csdn.net/lzy20ls/article/details/72769838 获取当前手机网络信息工具类break;} }}private void changeState(int wifi_state) { switch (wifi_state) { case WifiManager.WIFI_STATE_DISABLING://wifi正在关闭 break; case WifiManager.WIFI_STATE_DISABLED://wifi不可用 break; case WifiManager.WIFI_STATE_ENABLING://wifi正在打开 break; case WifiManager.WIFI_STATE_ENABLED://wifi可用 break; case WifiManager.WIFI_STATE_UNKNOWN://未知wifi信息 break; }}private void alarmCharge(int status,int health) { if (BatteryManager.BATTERY_HEALTH_OVERHEAT == health) {//电池状态很好 } else { switch (status) { case BatteryManager.BATTERY_STATUS_UNKNOWN://监控不到电池 break; case BatteryManager.BATTERY_STATUS_CHARGING://电池状态改变 break; case BatteryManager.BATTERY_STATUS_DISCHARGING://电池未充电 break; case BatteryManager.BATTERY_STATUS_NOT_CHARGING://电池没电了 break; } }}
阅读全文
0 0
- 关于实时监听手机wifi信号和电量情况以及网络形式的改变
- 【Unity】Unity3D 移获取手机电量与wifi信号的获取
- 关于wifi连接机制以及WifiManager的使用和监听wifi的方式
- Android实时监听网络状态 wifi
- android 查看电量情况,手机信息,电池历史记录,使用情况统计 ,wifi 使用情况
- 取得 wince 剩余电量和wifi信号强度
- 取得 wince 剩余电量和wifi信号强度
- Unity获取手机电量 网络和时间
- Unity3D移动端电量与wifi信号的获取
- android监听手机网络连接状态改变的后台服务
- 监听开机,电量变化,信号变化的广播
- Android 监听Wifi状态和信号强度
- android手机网络状态监听,判断手机连接的是移动网络还是wifi等
- 关于IOS网络实时监听中reachability文件的问题
- Android广播监听手机电量
- android 监听手机电量变化
- Android监听WIFI网络的变化并且获得当前信号强度
- 关于Android7.0 监听网络改变的广播失效
- Slim Span UVALive
- 凸包问题的五种解法
- android游戏后台运行点击桌面游戏图标游戏重启的解决方法
- linux远程登陆命令(无工具)
- Android冷启动白屏解析,带你一步步分析和解决问题
- 关于实时监听手机wifi信号和电量情况以及网络形式的改变
- 输出日期
- mysql 调优 参数设置
- linux的常用命令
- 使用dubbo注解@Service注册服务后使用aop或者申明式事物导致无法注册的问题解决办法
- LeetCode 88. Merge Sorted Array
- SharePoint Framework 企业向导(八)
- SharePoint Framework 企业向导(七)
- 动态加载js文件