我试图接收有关运营商名称的信息,该设备当前连接到哪个网络。为此,我使用简单的代码:
TelephonyManager manager = (TelephonyManager) aContext.getSystemService(Context.TELEPHONY_SERVICE);
String carrierName = manager.getNetworkOperatorName();
为了不做任何愚蠢的工作,比如每隔X毫秒轮询一次这个信息,我试图注册一些接收器,只要发生与上述信息相关的某个事件,就会被调用。为此我在清单中使用了一个带有动作集的动作集的接收器:
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
每当我更改漫游运算符时,都会以适当的意图调用接收器。只要它在数据传输的背景下都很棒。只要我连接到WiFi或完全禁用移动数据,当我更改漫游运营商时,此接收器就会停止调用。
是否有任何智能方式(每隔X毫秒不轮询此数据)我可以在设备注册到其他移动运营商时获取运营商的名称?