尝试使用android.net.conn.CONNECTIVITY_CHANGE
上的广播接收器来监控应用的离线状态,但在开启和关闭飞机模式时,我遇到连接更改的大幅延迟,20 - 30秒,还有更快的方法吗? (不轮询连接)
清单:
<receiver android:name=".service.NetworkStateReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
接收器:
public class NetworkStateReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "\t\t\tCONNECTIVITY CHANGED");
}
}
编辑:logcat中有一个D/NetworkChangeNotifierAutoDetect: Network connectivity changed, type is: 5
日志几乎是即时的,是否有办法捕获触发该日志的内容?
编辑:发现android.intent.action.SERVICE_STATE
实际上更快地重新连接。丢弃连接更改仍然延迟20到30秒:(