Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在活动或应用程序销毁后保持OnCompleteListener运行?_Android_Firebase_Firebase Storage - Fatal编程技术网

Android 如何在活动或应用程序销毁后保持OnCompleteListener运行?

Android 如何在活动或应用程序销毁后保持OnCompleteListener运行?,android,firebase,firebase-storage,Android,Firebase,Firebase Storage,根据, 公共任务addOnCompleteListener(OnCompleteListener lis 不是活动范围的侦听器 我用过什么 task.addOnCompleteListener(new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccess

根据,

公共任务addOnCompleteListener(OnCompleteListener lis
不是活动范围的侦听器

我用过什么

task.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
    @Override
    public void onComplete(@NonNull Task<AuthResult> task) {
        if (task.isSuccessful()) {
            // Task completed successfully
            AuthResult result = task.getResult();
        } else {
            // Task failed with an exception
            Exception exception = task.getException();
        }
    }
});
task.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
//任务已成功完成
AuthResult=task.getResult();
}否则{
//任务失败,出现异常
Exception=task.getException();
}
}
});
我注意到,, 启动
UploadTask
后,如果我立即退出应用程序并从最近的应用程序中清除应用程序,则UploadTask将异步完成,但
OnCompleteListener
不工作,onComplete也不会执行


因此,如何在活动或应用程序完全销毁后继续运行
addOnCompleteListener

您可以使用AsyncTask。它已经是AsyncTask在后台服务中运行在上面的操作中不可能
task.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
    @Override
    public void onComplete(@NonNull Task<AuthResult> task) {
        if (task.isSuccessful()) {
            // Task completed successfully
            AuthResult result = task.getResult();
        } else {
            // Task failed with an exception
            Exception exception = task.getException();
        }
    }
});