在Andriod App悲剧的Oreo上使用Android Broadcast

时间:2018-12-15 09:33:41

标签: java android broadcastreceiver android-8.0-oreo android-broadcast

我打算将Android应用程序定位到Oreo,但是文档中提到,不再允许在Android清单中声明隐式广播。 here中几乎没有例外。

我正在使用这些广播

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

任何人都可以帮助我知道上述广播中的哪些内容将被禁止。如果继续使用它们还会发生什么?

1 个答案:

答案 0 :(得分:1)

android.intent.action.BOOT_COMPLETEDandroid.intent.action.TIME_SETthe whitelist that you linked to上。这些广播应该像往常一样工作。

android.intent.action.MY_PACKAGE_REPLACED不是隐式广播。它将通过显式Intent仅“广播”到您的应用程序。这应该像往常一样工作。

android.intent.action.QUICKBOOT_POWERONcom.android.vending.INSTALL_REFERRER都不是Android SDK的一部分,因此您需要与定义并发送这些广播的人一起研究。