广播接收器未获得 MY_PACKAGE_REPLACED 意图

Broadcast receiver does not get MY_PACKAGE_REPLACED intent

根据 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>

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

谷歌搜索表明这似乎是一些 android 明显的合并问题。但是我真的不知道如何解决这个问题。

谁能给我指出正确的方向

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

接收器又开始工作了。希望这对感兴趣的人有所帮助