0

我有一个存储图像的文件夹....所以我想要做的是将这些图像上传到服务器,一旦上传完成我想删除这些图像..这个上传和删除应该在后台发生......所以我创建了一个运行良好的服务..我想要的是每当一个新文件进入这个文件夹时它应该自动上传..即服务应该自动启动......有没有办法做到这一点......? ?

public class MyServices extends Service {

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), "Service Started",
                Toast.LENGTH_LONG).show();

        sendfile();
        return super.onStartCommand(intent, flags, startId);
    }
    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), "Service Stopped",
                Toast.LENGTH_LONG).show();
        super.onDestroy();
    }
}

sendfile() 扫描文件夹并发送图像....所以我必须继续无限调用此方法还是有其他方法???

4

3 回答 3

0

您可以使用AlarmManager有时运行您的服务并检查文件夹。(但请注意电池消耗应用程序 =))。

于 2013-01-28T11:55:46.667 回答
0

这里有几个选项:

  1. 您可以使用FileObserver来监视目录的更改。
  2. 如果您的应用正在创建图像,您可以在每次添加新图像时调用 startService。
  3. 您可以收听ACTION_NEW_PICTURE以了解何时添加了新图片(假设添加图片的应用程序的行为类似于相机应用程序)。
于 2013-06-17T23:33:05.970 回答
0

..所以我想要做的是将这些图像上传到服务器,一旦上传完成,我想删除这些图像.. 这种上传和删除应该在后台发生......

这个 Github 库正是这样做的 - https://github.com/gotev/android-upload-service 2.3K 星 2020 年 4 月

在此处输入图像描述

" - 在后台轻松上传文件(开箱即用的多部分/二进制/FTP),并带有进度指示通知

- 使用 FTP、HTTP 多部分/表单数据或二进制请求将文件上传到服务器

- 在后台处理多个并发上传,即使设备处于空闲状态(打盹模式)

-自动重试失败的上传,具有可配置的指数退避可能性,以在上传成功时自动删除上传的文件

由该库提供支持的应用程序和库-

-JIRA云

-Quora

...

"

于 2020-04-27T15:15:21.807 回答