【问题标题】:How to keep running Service when app updated in android?在android中更新应用程序时如何继续运行服务?
【发布时间】:2024-04-28 00:15:02
【问题描述】:

我正在 android 中开发时钟小部件应用程序,我有一个在后台运行的前台服务,但问题是当我更新应用程序时,服务已停止。如何在应用更新后保持服务运行,我尝试了 ACTION_MY_PACKAGE_REPLACED 并放置在广播接收器中但没有奏效,我无法在该特定接收器中调用 onReceive。

【问题讨论】:

    标签: android kotlin service widget receiver


    【解决方案1】:

    如果您在 Android Studio 中进行测试,它可能根本不会触发该广播。 This question/answer 参与其中 - 如果您通过 adb install 安装,您会收到广播,如果您使用 Run in AS 安装,则不会发生。

    您基本上需要构建您的应用程序(RebuildBuild 菜单中,或在命令行中使用gradlew assembleDebug)然后运行adb install app\build\outputs\apk\debug\app-debug.apk(或任何路径,取决于您在哪里运行它),它应该工作。我建议在您的接收器中放置一个日志调用,以便您查看它是否运行

    还要确保您的接收器在清单中有 android:exported=trueandroid:enabled=true

    【讨论】: