广播接收器未获得MY_PACKAGE_REPLACED意图

Kus*_*han 5 android android-intent android-8.0-oreo

根据Android O开发人员预览,我们不能再使用PACKAGE_REPLACED意图与清单中声明的​​接收器一起使用.

替代方案是MY_PACKAGE_REPLACED.但是当我在代码更改后通过android studio更新应用程序时,这个意图似乎并没有激发.而旧的更广泛的意图总是正确地解雇.

    <receiver
        android:name=".Receivers.BootEventReceiver"
        android:exported="true"
        android:enabled="true">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

假设接收器本身只是在onReceive()中打印一条日志消息.

谷歌搜索建议这似乎是一些Android清单合并问题.但我真的无法解决如何解决这个问题.

有人能指出我正确的方向

Kus*_*han 5

我决定使用 MY_PACKAGE_REPLACED 意图过滤器制作一个单独的接收器,而不是使用一个带有两个意图过滤器的接收器。

接收器又开始工作了。希望这可以帮助任何有兴趣的人