Android-метод для автоматического захвата фотографий и загрузки их каждые X секунд
У меня есть следующая задача:
Позже в этом месяце я запустлю смартфон Android (htc droid incredible) на борту солнечного шара, как в прошлом мае.
Я хотел бы настроить Android так, чтобы он делал фотографии каждые X секунд и загружал их в Google+. У меня работает автоматическая загрузка, но я пока не смог найти приложение, которое может делать фотографии автоматически, используя очень мало системных ресурсов (надежда состоит в том, чтобы телефон продолжал передачу в течение длительного периода времени).
Какие приложения или простые сценарии смогут это сделать?
Мы не можем хранить фотографии на жестком диске, потому что мы никогда не вернем их. Он должен передавать.
2 ответа
Я использовал этот скрипт Python:
import android
import time
droid = android.Android()
for i in range(5):
temp = str(i)
path = '/sdcard/picscript/'
path += time.strftime("%B-%_e-%_I-%M-")
path += temp
path += '.png'
droid.cameraCapturePicture(path, True)
в сочетании с SL4A Для циклической съемки. Поскольку сейчас требуется 5 изображений и сохранить их в папке на SD-карте с именем picscript, имена файлов будут временной меткой времени, когда была сделана фотография. После того, как они будут сохранены, вы можете загрузить их оттуда. Если вы чувствуете приключения, вы, возможно, даже сможете понять, как загрузить их из самого скрипта Python.
Вы можете изменить сценарий, чтобы сделать его бесконечным циклом (ish) и добавить задержку между фотографиями, если хотите.
Если вы согласны с необходимостью установки sl4a на устройстве, вы можете запустить его из файла python. Если вы не хотите, чтобы sl4a был установлен, вы можете вместо этого обернуть его в Android- APK, как описано в этом PDF-файле. Независимо от того, какой маршрут вы выберете, на вашем устройстве должен быть установлен python.
Примечание: я не имею представления об использовании батареи с этим скриптом, но я подозреваю, что это будет довольно разряжать. В более поздних версиях sl4a API-интерфейсы немного изменились, и предварительный просмотр камеры теперь отображается на экране. Я не думаю, что раньше показывался предварительный просмотр, поэтому, если вы вернетесь и возьмете старую версию, вы сможете получить более высокую производительность батареи от нее. droid.cameraTakePicture(path,True)
это то, что метод вызывался в более старых версиях.
Прежде всего, основная идея заключается в захвате с использованием IntentService.
Это будет довольно просто, просто переопределите метод onCommand и сделайте снимок с примером кода здесь
http://developer.android.com/guide/topics/media/camera.html
Вам не нужно настраивать предварительный просмотр или, возможно, просто настроить предварительный просмотр, если он не работает на вашем устройстве.
Для запуска IntentService у вас должен быть AlarmManager, который будет запускаться каждый раз X и запускать намерение. И BroadcastReceiver для запуска AlarmManager при загрузке.