我打算将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>
任何人都可以帮助我知道上述广播中的哪些内容将被禁止。如果继续使用它们还会发生什么?
答案 0 :(得分:1)
android.intent.action.BOOT_COMPLETED
和android.intent.action.TIME_SET
在the whitelist that you linked to上。这些广播应该像往常一样工作。
android.intent.action.MY_PACKAGE_REPLACED
不是隐式广播。它将通过显式Intent
仅“广播”到您的应用程序。这应该像往常一样工作。
android.intent.action.QUICKBOOT_POWERON
和com.android.vending.INSTALL_REFERRER
都不是Android SDK的一部分,因此您需要与定义并发送这些广播的人一起研究。