Android,从“最近的应用程序”中删除应用程序时取消通知

ale*_*exb 6 notifications android

在 Android 应用程序中,当应用程序移至后台时,我会创建一个通知。单击通知时,它会将应用程序移回前台。

我遇到的问题是在后台,用户通过“最近的应用程序”删除应用程序(即,他将其刷掉),通知仍然存在。如何捕获滑动事件,即当应用程序从“最近的应用程序”中删除时。我试过 onDestroy,但这并没有被触发。

AAD*_*ing 1

API级别14中添加了一个回调方法 onTaskRemoved。如果服务当前正在运行并且用户已删除来自服务应用程序的任务,则会调用此函数。

因此,在您的Service班级中,谁发布通知,您可以重写此方法并停止负责显示通知的正在运行的服务。

    @Override
    public void onTaskRemoved(Intent rootIntent) {
        super.onTaskRemoved(rootIntent);
        stopSelf();
    }
Run Code Online (Sandbox Code Playgroud)

使用上述代码在您的Service调用中,一旦用户通过“最近的应用程序”删除应用程序(即,他/她将其滑开),onTaskRemoved将调用此服务的回调,并且stopSelf()应用程序将停止负责显示/发布的服务通知。

因此,发布的通知将被系统删除。