Skip to content

android firebase file upload in background service stopped when clear app from recents. #781

Open
@vidjanidhi

Description

@vidjanidhi

Step 1: Are you in the right place?

  • For issues or feature requests related to the code android storage file a Github issue.

Step 2: Describe your environment

  • Android device: _____Mi note5
  • Android OS version: _____oreo
  • Google Play Services version: _____
  • Firebase/Play Services SDK version: _____

Step 3: Describe the problem:

I have used your code for file upload in background service. It works fine when the app is running. but when the app is removed from recent apps or get killed then the uploading and notification stopped and remains as it is.

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class NotificationJobService extends JobService implements UploadFileToServer.UploadEventListener {
    private JobStartedListner jobStartedListner;
    ArrayList<File> sourceFileList = new ArrayList<File>();
    UploadFileToServer uploadFileToServer;

    @Override
    public void onPreExecute() {

    }

    @Override
    public void onComplete() {

    }

    @Override
    public void onProgressUpdated(Integer progress, int totalSize, int currentFilePosition) {

    }

    public interface JobStartedListner {
        public void onJobStarted();
    }

    public NotificationJobService() {
    }

    @Override
    public boolean onStartJob(JobParameters jobParameters) {
        Log.e("Job Params", jobParameters.toString());
        String[] data = jobParameters.getExtras().getStringArray("data");
        for (int i = 0; i < data.length; i++) {
            if (data[i] != null) {
                File f = new File(data[i]);
                sourceFileList.add(new File(data[i]));
            }
        }
        uploadFiles(this, sourceFileList, this);
        return false;
    }

    public void uploadFiles(UploadFileToServer.UploadEventListener uploadEventListener, ArrayList<File> sourceFileList, Context context) {
        uploadFileToServer = new UploadFileToServer(uploadEventListener, /*new File(imagepath)*/sourceFileList, context);
    }

    @Override
    public boolean onStopJob(JobParameters jobParameters) {
        uploadFileToServer.cancel(true);
        return true;
    }
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions