AIRPLANE_MODE 的广播接收器不适用于 SDK 26

Broadcast receiver with AIRPLANE_MODE not working with SDK 26

通常,当用户更改 AIRPLANE_MODE 时,我使用一个简单的代码来放置 Toast,并且它可以使用 targetSdkVersion 25

我的 AirPlaneModeReceiver :

    public class AirPlaneModeReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        Toast.makeText(context, "I receive a Broadcast", Toast.LENGTH_SHORT).show();

    }
}

清单中我声明接收者的部分:

<receiver android:name=".AirPlaneModeReceiver">
            <intent-filter>
                <action android:name="android.intent.action.AIRPLANE_MODE"/>
            </intent-filter>
</receiver>

但是当我将目标 SDK 版本更改为 targetSdkVersion 26 时,它根本不起作用... 为什么?

根据文档:

您应该删除所有为隐式广播意图注册的广播接收器。

https://developer.android.com/about/versions/oreo/android-8.0-migration.html

参见第 "Remove broadcast receivers from your manifest file"

部分