编程语言
首页 > 编程语言> > android-如何在更新应用程序后在后台运行服务

android-如何在更新应用程序后在后台运行服务

作者:互联网

我有一个警报应用程序,我注意到当我更新/重新安装该应用程序时,未决的警报意图将被删除.
因此,我需要一种无需用户启动应用程序即可检测到应用程序已更新的方法.

我使用广播来检测电话重启,以重新注册警报,但不确定如何检测应用程序更新时间.

例如,在没有用户打开应用程序的情况下,是否可以在安装应用程序后立即运行服务?

我已经检查了这些,但似乎不可能.但想知道较新的Android版本是否有任何更新:

Start a service automatically when app installed to device

How to start a Service when .apk is Installed for the first time

谢谢.

解决方法:

无需设置警报,而是要专门为此目的准备一个清单注册的BroadcastReceiver.它可以监听android.intent.action.PACKAGE_REPLACED(请注意:此常量缺少单词action)或android.intent.action.MY_PACKAGE_REPLACED

<receiver android:name="...">
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_REPLACED"></action>
        <data android:scheme="package" android:path="com.your.package" /> 
    </intent-filter>
</receiver>

重新安装后,您的接收器将收到此消息,您将可以开始活动

标签:background-process,android
来源: https://codeday.me/bug/20191025/1927114.html