博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
monoGSM信号强度示例
阅读量:5104 次
发布时间:2019-06-13

本文共 2175 字,大约阅读时间需要 7 分钟。

 

 

1.GSM信号强度主要涉及需要用到两个类

PhoneStateListener类 和TelephonyManager类
TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。
当信号改变时回调PhoneStateListener类 的onSignalStrengthsChanged()
PhoneStateListener.OnSignalStrengthsChanged()实现
class GsmSignalStrengthListener : PhoneStateListener     {        public delegate void SignalStrengthChangedDelegate(int strength);        public event SignalStrengthChangedDelegate SignalStrengthChanged;        public override void OnSignalStrengthsChanged(SignalStrength newSignalStrength)          {            if (newSignalStrength.IsGsm)            {                if (SignalStrengthChanged != null)                {                    SignalStrengthChanged(newSignalStrength.GsmSignalStrength);                 }            }        }    }

  

protected override void OnCreate(Bundle bundle)        {            base.OnCreate(bundle);            SetContentView(Resource.Layout.Main);            button = FindViewById
//注册我们要监听的电话GSM状态改变事件。
void DisplaySignalStrength(object sender, EventArgs e){    _telephonyManager.Listen(_signalStrengthListener, PhoneStateListenerFlags.SignalStrengths);    _signalStrengthListener.SignalStrengthChanged += HandleSignalStrengthChanged;   }

 

void HandleSignalStrengthChanged(int strength){_signalStrengthListener.SignalStrengthChanged -= HandleSignalStrengthChanged;_telephonyManager.Listen(_signalStrengthListener, PhoneStateListenerFlags.None);button.Text = string.Format("GPS Signal Strength ({0}):", strength);}

  

2.通过该实例,我们可以看到,如果我们想要监听gsm的状况,需要这么几步  第一:获取电话服务管理器TelephonyManager _telephonyManager= (TelephonyManager)GetSystemService(Context.TelephonyService); 
第二:通过TelephonyManager注册我们要监听的电话GSM状态改变事件。_telephonyManager.listen(_signalStrengthListener,PhoneStateListenerFlags.SignalStrengths);这里的 
PhoneStateListenerFlags.SignalStrengths就是我们想要监听的GSM的状态改变事件。  第三步:通过extends PhoneStateListener来定制自己的规则。将其对象传递给第二步作为参数

转载于:https://www.cnblogs.com/caoxin/p/3505567.html

你可能感兴趣的文章
Android中在布局中写ViewPager无法渲染出来的问题
查看>>
简单shellcode编写
查看>>
centos7配置yum源
查看>>
winform textbox提示历史记录
查看>>
SSM整合(spring mybatis)图书
查看>>
Linux学习笔记--终端命令
查看>>
关于电脑桌面图标消失并且右键无法点击的情况
查看>>
JAVA窗口2
查看>>
【Alpha】第八次Scrum meeting
查看>>
学习进度条11
查看>>
剑指offer之【树的子结构】
查看>>
Http协议中常用字段总结(不定时完善中)
查看>>
大道至简——第二章读后感
查看>>
线程的分离与结合
查看>>
混沌数学之Arnold模型
查看>>
判断一个数是偶数还是素数 做相应处理并排序输出
查看>>
进制转换问题
查看>>
Docker 容器的数据管理
查看>>
驱动相关Error
查看>>
补坑:Prufer 编码总结
查看>>