2014-08-28 6 views
0

Прежде всего позвольте мне описать логику.Служба android связывается с другими классами

  1. Включите кнопку «Загрузить фото», чтобы запустить передачу, чтобы загрузить локальные фотографии на сервер.

  2. Когда приложение осталось невидимым для пользователя. по-прежнему следить за локальными фотографиями, если новые фото камеры, немедленно загрузите их. Я использую этот ContentResolver resolution для реализации функции.

  3. после прекращения действия приложения, пользователь может делать новые фотографии, при перезапуске приложения, сканировать локальную SD-карту и загружать эту новую фотографию.

Вот мой вопрос:

Когда я должен поставить step2 в службе в случае активность destroied. следует использовать другую услугу для реализации бизнеса step3.

вы можете найти the source on Github

см источник сниппет ниже:

Intent txIntent = new Intent(this, TransferService.class); 
    startService(txIntent); 
    Log.d(DEBUG_TAG, "start TransferService"); 

    // bind transfer service 
    Intent bIntent = new Intent(this, TransferService.class); 
    bindService(bIntent, mConnection, Context.BIND_AUTO_CREATE); 
    Log.d(DEBUG_TAG, "try bind TransferService"); 

    Intent monitorIntent = new Intent(this, FileMonitorService.class); 
    startService(monitorIntent); 

    Intent cameraUploadIntent = new Intent(this, CameraUploadService.class); 
    startService(cameraUploadIntent); 

    this.getApplicationContext().getContentResolver().registerContentObserver(
     MediaStore.Images.Media.EXTERNAL_CONTENT_URI, false, cameraUploadObserver); 
    ` 

Так я должен поставить cameraUploadObserver в службу?

ответ

0

шаги следуют по выполнению требования:

  1. создать службу для выполнения двух частей требований

  2. кнопку UI для запуска службы

  3. внутри класса обслуживания, зарегистрировать Content Observer для обнаружения события камеры, файлов событий onChange(), чтобы вы могли загружать фото в метод onChange()

  4. зарегистрируйте услугу передачи, привяжите соединение и используйте это, чтобы загрузить все локальные фотографии в соответствии с методом onStartCommand().

go to the github site для просмотра всего проекта.

Смежные вопросы