Java 在针对Oreo的Android应用程序上使用Android广播

Java 在针对Oreo的Android应用程序上使用Android广播,java,android,broadcastreceiver,android-8.0-oreo,android-broadcast,Java,Android,Broadcastreceiver,Android 8.0 Oreo,Android Broadcast,我计划将我的Android应用程序定位于Oreo,但文档中提到,不再允许在Android清单中声明隐式广播。很少有例外 我正在使用这些广播 <receiver android:name=".ABC"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android

我计划将我的Android应用程序定位于Oreo,但文档中提到,不再允许在Android清单中声明隐式广播。很少有例外

我正在使用这些广播

<receiver android:name=".ABC">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.QUICKBOOT_POWERON" />
    </intent-filter>
</receiver>

<receiver android:name=".ABCD">
    <intent-filter>
        <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
    </intent-filter>
</receiver>

<receiver android:name=".ABCDE">
    <intent-filter>
        <action android:name="android.intent.action.TIME_SET" />
    </intent-filter>
</receiver>

<receiver android:name=".ABCDEF" />

<receiver
    android:name=".ABCDEFG"
    android:exported="true">
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>
</receiver>
有谁能帮我知道上面的哪些广播是不允许的。如果我继续使用它们会发生什么?

android.intent.action.BOOT\u已完成,并且android.intent.action.TIME\u设置已打开。这些广播应该一如既往地发挥作用

替换的android.intent.action.MY_包不是隐式广播。它将通过明确的意图仅向您的应用程序广播。这应该一如既往地起作用


android.intent.action.QUICKBOOT\u POWERON和com.android.vending.INSTALL\u referer都不是android SDK的一部分,因此您需要与定义和发送这些广播的人进行研究。

谢谢您的回答。当手机重新启动/重新启动时,会调用AFAIK android.intent.action.QUICKBOOT_POWERON;当手机完全通电时,会调用android.intent.action.BOOT_COMPLETED。我有一个闹钟设置,但如果手机重新启动,那么我的闹钟将关闭。你能澄清一下吗。同样从名称android.intent.action开始。它看起来应该是Android操作系统,但正如您所说,它没有任何文档记录。@RajeshK:AFAIK Android.intent.action.QUICKBOOT_POWERON在手机重新启动/重新启动时被调用-它不是Android的一部分。例如,我在Android 9.0源代码中找不到发送该广播的代码。您需要与设备制造商讨论。好的。对不起,还有一个问题。手机重启/重启时是否会调用android.intent.action.BOOT_COMPLETE?如果否,则在重新启动/重新启动手机时会重置设置的闹钟。@RajeshK:重新启动/重新启动手机时会调用android.intent.action.BOOT_COMPLETE吗?-是的,应该是这样。一些制造商显然允许用户通过设置应用程序控制这一点,尽管我自己还没有看到。非常感谢您的回答。像往常一样,你所有的答案都有很好的解释和推理,而且都切中要害。再次感谢。