而且,如果您不想轮询“飞行模式”是否处于活动状态,则可以为SERVICE_STATE Intent注册一个BroadcastReceiver并对其做出反应。
在您的ApplicationManifest(Android 8.0之前的版本)中:
或以编程方式(所有Android版本):
IntentFilter intentFilter = new IntentFilter("android.intent.action.AIRPLANE_MODE");
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d("AirplaneMode", "Service state changed");
}
};
context.registerReceiver(receiver, intentFilter);
并且,如其他解决方案中所述,您可以在收到通知时轮询飞行模式,并抛出异常。