onDestroy 从商店更新或从工作室重新加载

onDestroy with an update from the store or a reload from the studio

在我的应用程序中,我需要检测用户何时结束应用程序。当我从 Android Studio 重新加载时,我看到该应用程序没有通过 onDestroy。

我猜这是因为工作室使用即时 运行?只要它限于开发环境,这不是问题。

但是当用户从商店更新应用程序时会发生什么?我确定应用程序在重新打开之前进入了 onDestroy 状态吗?

我不确定如何测试它,所以我想我可以在论坛上提问。

使用您声明的目标创建 APK,例如 debugrelease。在您的设备中安装 APK。现在启动您的应用程序。 当应用程序在前台时。使用以下命令再次安装 APK。

adb install -r PATH_TO_TOUR_APK

这类似于从 Play 商店升级应用程序。只需确保两个 APK 具有相同的签名证书和增加的 versionCode.

Upadte 回答:如果您想在 App 被杀死时通知用户,请尝试以下操作:

public class EmptyService extends Service {

@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Log.d("EmptyService", "Service Started");
    return START_NOT_STICKY;
}

@Override
public void onDestroy() {
    super.onDestroy();
    Log.d("EmptyService", "Service Destroyed");
}

@Override
public void onTaskRemoved(Intent rootIntent) {
    Log.e("EmptyService", "END");
    //Code here
    stopSelf();
}

}

在 AndroidManifest 中

<service android:name="com.example.EmptyService" android:stopWithTask="false" />

现在从您的应用程序开始启动此服务。

让我知道升级后是否有效。