Android 检测何时恢复小区接收
由于离开覆盖范围、打开飞机模式或任何其他原因,接收可能会丢失。我对原因不感兴趣,但我只想知道何时恢复接收 是否有可以注册的意图来启动广播接收器 使用android.net.conn.connectivity\u change的连接更改接收器似乎不适用于此目的 任何帮助都将不胜感激。您可以使用。您可以使用电话状态的接收器执行此操作 在舱单中:Android 检测何时恢复小区接收,android,android-broadcast,Android,Android Broadcast,由于离开覆盖范围、打开飞机模式或任何其他原因,接收可能会丢失。我对原因不感兴趣,但我只想知道何时恢复接收 是否有可以注册的意图来启动广播接收器 使用android.net.conn.connectivity\u change的连接更改接收器似乎不适用于此目的 任何帮助都将不胜感激。您可以使用。您可以使用电话状态的接收器执行此操作 在舱单中: <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<receiver android:name=".PhoneStateReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
PhoneStateListener:
import android.telephony.PhoneStateListener;
class ServiceStateListener extends PhoneStateListener {
public void onServiceStateChanged (ServiceState serviceState) {
boolean connected = (serviceState.getState() == ServiceState.STATE_IN_SERVICE);
// Do work based on "connected"
}
}
我实现了您的解决方案,但如果切换到飞行模式,则不会触发onReceive方法,但只有在CALL_状态更改时才会触发。知道为什么吗?
import android.telephony.PhoneStateListener;
class ServiceStateListener extends PhoneStateListener {
public void onServiceStateChanged (ServiceState serviceState) {
boolean connected = (serviceState.getState() == ServiceState.STATE_IN_SERVICE);
// Do work based on "connected"
}
}