gpt4 book ai didi

android - 设备重启后,我的应用接收 BOOT_COMPLETED 广播比其他应用慢/晚?

转载 作者:行者123 更新时间:2023-12-04 13:53:32 25 4
gpt4 key购买 nike

当我重新启动设备时,我收到 BOOT_COMPLETED广播比其他应用程序慢得多(大约 10-15 秒后)。
我看过this .但我不认为这是完全正确的。我如何(我认为)证明它是错误的:
(让我们将 X 定义为接收 BOOT_COMPLETED 广播比我​​的更快的应用程序)。

  • 已安装 X
  • 安装了我的应用程序。
  • 重新启动设备。

  • 结果:X 收到 BOOT_COMPLETED广播非常快。我申请的接收广播很慢。
  • 卸载了这两个应用程序。
  • 再次安装了我的应用程序。
  • 重新启动设备。

  • 结果:我的应用收到了 BOOT_COMPLETED广播又慢了。
  • 卸载了我的应用程序。
  • 已安装 X。
  • 重新启动设备。

  • 结果:X 收到 BOOT_COMPLETED再次以非常快的速度播出。
    结论:我的应用程序收到 BOOT_COMPLETED无论是否安装了 X,广播速度都很慢。 X 总是收到 BOOT_COMPLETED广播非常快。 即使 X 是在我的应用程序之后安装的,X 如何能够比我的应用程序更快地接收启动完成的广播?
    这就是为什么我不认为 this是完全正确的答案。 X 正在做某事导致它收到 BOOT_COMPLETED比我的应用程序具有更高的优先级。
    可能除了 BOOT_COMPLETED还有其他的广播哪个更快?
    任何建议表示赞赏。
    显现:
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    ...
    <receiver
    android:name=".receivers.BootCompletedIntentReceived">
    <intent-filter android:priority="2147483647">
    <category android:name="android.intent.category.DEFAULT"/>
    <action android:name="android.intent.action.BOOT_COMPLETED"/>
    <action android:name="android.intent.action.QUICKBOOT_POWERON"/>
    <!--For HTC devices-->
    <action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
    </intent-filter>
    </receiver>
    BootCompletedIntentReceived.kt
    class BootCompletedIntentReceived: BroadcastReceiver() {
    override fun onReceive(context: Context?, intent: Intent?) {
    //DO SOMETHING HERE
    }
    }

    最佳答案

    Intent-filter 的优先级值必须在 -1000 到 1000 之间。
    尝试这个:

    <intent-filter android:priority="999">

    关于android - 设备重启后,我的应用接收 BOOT_COMPLETED 广播比其他应用慢/晚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66686676/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com