在针对 Oreo 的 Android 应用上使用 Android 广播
Working with Android Broadcast on an Android App targeting Oreo
我计划将我的 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>
谁能帮我知道上面的广播是不允许的。还有如果我继续使用它们会发生什么?
android.intent.action.BOOT_COMPLETED
和 android.intent.action.TIME_SET
在 the whitelist that you linked to 上。这些广播应该像往常一样工作。
android.intent.action.MY_PACKAGE_REPLACED
不是隐式广播。通过显式 Intent
,它将仅对您的应用 "broadcast"。这应该像往常一样工作。
android.intent.action.QUICKBOOT_POWERON
和 com.android.vending.INSTALL_REFERRER
都不是 Android SDK 的一部分,因此您需要与定义和发送这些广播的人进行研究。
我计划将我的 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>
谁能帮我知道上面的广播是不允许的。还有如果我继续使用它们会发生什么?
android.intent.action.BOOT_COMPLETED
和 android.intent.action.TIME_SET
在 the whitelist that you linked to 上。这些广播应该像往常一样工作。
android.intent.action.MY_PACKAGE_REPLACED
不是隐式广播。通过显式 Intent
,它将仅对您的应用 "broadcast"。这应该像往常一样工作。
android.intent.action.QUICKBOOT_POWERON
和 com.android.vending.INSTALL_REFERRER
都不是 Android SDK 的一部分,因此您需要与定义和发送这些广播的人进行研究。