我正在尝试使用 PhoneStateListener 来处理连接状态更改。我已经在服务的 onCreate 方法中注册了监听器。当我从手机设置启用或禁用 wifi 连接时,正在调用侦听器的覆盖方法 onDataConnectionStateChanged(int state),但在这两种情况下,“状态”参数都是 0,并且它始终进入开关的第一种情况。这是我对该方法的实现:
PhoneStateListener listener = new PhoneStateListener() {
@Override
public void onDataConnectionStateChanged(int state) {
super.onDataConnectionStateChanged(state);
switch (state) {
case TelephonyManager.DATA_DISCONNECTED:
Toast.makeText(LocationService.this, "Data connection lost!", Toast.LENGTH_LONG).show();
break;
case TelephonyManager.DATA_CONNECTED:
Toast.makeText(LocationService.this, "Data connection available!", Toast.LENGTH_LONG).show();
break;
}
}
};
结果总是一条吐司消息说:“数据连接丢失!”。我确定我在这里遗漏了一些简单的东西,但我无法找出问题所在。