AIRPLANE_MODE的广播接收器不支持SDK 26

时间:2017-07-05 07:27:03

标签: android android-broadcast

Normaly,我使​​用一个简单的代码在用户更改Toast时添加AIRPLANE_MODE,并使用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时,它根本不起作用...... 为什么?

1 个答案:

答案 0 :(得分:3)

根据文件:

你应该删除任何为隐式广播意图注册的广播接收者。

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

请参阅“从清单文件中删除广播接收器”一节