Android方法,用于自动捕获照片并每隔X秒上传一次

时间:2012-08-08 02:51:27

标签: android photography

我有以下任务:

本月晚些时候,我将在太阳能气球上推出一款Android智能手机(htc droid令人难以置信),就像我一样last May.

我想将Android配置为每隔X秒拍一张照片并将其上传到Google+。我有自动上传工作,但我还没有找到一个可以在使用非常少的系统资源时自动拍照的应用程序(希望能够长时间保持手机传输)。

哪些应用程序或简单脚本可以执行此操作?

我们无法在硬盘上保留照片,因为我们永远无法取回照片。它必须传输。

2 个答案:

答案 0 :(得分: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张图像并将它们保存到名为picscript的SD卡上的文件夹中,文件名将是拍摄照片的时间戳。一旦它们被保存,你可以从那里上传它们。如果你有冒险精神,你甚至可以弄清楚如何从python脚本本身上传它们。

您可以更改脚本以使其成为无限(ish)循环,并在每张照片之间添加时间延迟(如果需要)。

如果您可以在设备上安装sl4a,则可以从python文件中运行它。如果您不想安装sl4a,可以将其包装在android apk as detailed in this pdf.中 无论你走哪条路线,你的设备上都必须有python installed

注意:我不知道这个脚本的电池使用情况,但我怀疑它会耗尽。在更新版本的sl4a中,API已经发生了一些变化,现在屏幕上显示了相机预览。我不认为它曾用于展示预览,所以如果你回过头来抓住旧版本,你可能会获得更好的电池性能。 droid.cameraTakePicture(path,True)是旧版本中调用的方法。

答案 1 :(得分:1)

首先,主要想法是使用IntentService进行捕获。

这将非常简单,只需覆盖onCommand方法并在此处使用示例代码进行拍摄

http://developer.android.com/guide/topics/media/camera.html#access-camera

如果您的设备无法使用,则无需设置预览视图或设置虚拟预览。

要触发IntentService,您应该有一个AlarmManager来触发每个X时间并触发意图。还有一个BroadcastReceiver可以在启动时启动AlarmManagers。