有什么方法可以在应用程序被另一个应用程序替换之前得到通知?

Is there any way to get notified before the app is being replaced by another?

我知道 ACTION_MY_PACKAGE_REPLACED Intent 操作,但它的作用是 - 在 应用程序被替换后通知接收者。

但事情是 - 我想知道在应用程序被另一个替换之前。

我尝试了这些操作

<receiver
    android:name=".receivers.InstallReceiver"
    android:enabled="true"
    android:exported="true">

       <intent-filter>
            <action android:name="android.intent.action.PACKAGE_INSTALL" />
            <action android:name="android.intent.action.PACKAGE_ADDED" />
            <action android:name="android.intent.action.PACKAGE_CHANGED" />
            <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
       </intent-filter>
</receiver>

但无济于事!

I want to know before the app is being replaced by another

这是不可能的,抱歉。

What if I want to stop some service before the app got uninstalled?

当应用程序被替换或删除时,其进程将终止。该过程也会因许多其他原因而终止(例如,年老、设置中的强制停止)。对于 replacement/uninstall 场景应该不需要做一些特殊的事情。