Android 怎么获取手机网络信号问题

在我们有的时候需要可能需要自己写一个状态栏显示手机的的当前网络类似网络信号的问题这些需求先说说思路吧。

1.这个里面涉及一个核心的api :PhoneStateListener 

让某个类继承PhoneStateListener  重写:onSignalStrengthsChanged  通过传入的SignalStrength  getLevel()获取信号强度  判断网络是4G还是3G或者是2G 通过TelephoneManager getNetWorkType获取

关于显示移动信号显示就这几个方法,现在需要冬天更改因为手机变化的怎么做呢那么介绍另外一个API:SubscriptionManager 

关于SubscriptionManager :

1.对象实例化:  SubscriptionManager mSubscriptionManager = SubscriptionManager.from(Conrtext )返回一个实例对象

SubscriptionInfo sub0 = mSubscriptionManager.getActiveSubscriptionInfoForSimSlotIndex(0);

if(null != sub0) {
mPhoneStateListener = new Sim1SignalStrengthsListener(sub0.getSubscriptionId());
mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}



你可能感兴趣的:(项目随笔)