【问题标题】:How to run methods when someone exit the app?当有人退出应用程序时如何运行方法?
【发布时间】:2018-08-13 15:36:14
【问题描述】:

我正在制作一个应用程序,当用户退出应用程序时,某些方法将运行,但我无法在 onDestroy 方法上执行此操作,因为有时它不工作,如果它工作,则只执行第一行,所以如何运行方法当用户按下返回按钮或将其从最近的应用程序中删除?

【问题讨论】:

  • 根据this postonPause()方法就是你想要的。
  • 不,如果用户退出应用程序意味着它不在后台。

标签: android android-studio


【解决方案1】:

您可以使用 Android 服务来做到这一点

当应用程序被从最近的应用程序列表中滑动杀死时,如果它只是停止服务,您可以执行以下操作。

第 1 步:在您的 Manifest 文件中,将标志 stopWithTask 保留为 false 用于服务。喜欢:

    <service
        android:name="com.myapp.MyService"
        android:stopWithTask="false" />

第 2 步:现在在您的 MyService 服务中,覆盖方法 onTaskRemoved。 (仅当 stopWithTask 设置为 false 时才会触发)。

public class MyService extends Service {

@Override
    public void onTaskRemoved(Intent rootIntent) {
        super.onTaskRemoved(rootIntent);
        //Do whatever you want
    }
}

【讨论】:

    【解决方案2】:

    只需在要退出的活动中覆盖此方法并在此处执行任务:

    @Override
    public void onBackPressed() {
        // Do your exit task here
    }
    

    【讨论】:

    • 是的,我做到了……但是如果用户不按返回按钮而只是停止它而不按返回按钮会怎样。我的意思是像从后台应用程序有人滑动并停止应用程序
    • 那么这可能就是您正在寻找的答案:stackoverflow.com/a/26882533/9611198
    • 我已经在 onbackpressed 中调用了相同的方法,但是当用户不使用后退按钮时,我也可以在其他情况下运行它。
    猜你喜欢
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多