【发布时间】:2012-05-17 04:54:23
【问题描述】:
我想制作一个程序来拍摄照片,对其进行地理标记并将其存储在我的服务器上。
1) 有没有办法拍照但不保存?我只想拍照,压缩并发送到我的服务器。我不想将它存储到 SD 卡或内部存储器或任何东西,只是发送它。如果这是不可能的,那么我该如何临时存储并删除它?
2)另外,我如何访问我刚刚拍摄的照片并发送?
【问题讨论】:
我想制作一个程序来拍摄照片,对其进行地理标记并将其存储在我的服务器上。
1) 有没有办法拍照但不保存?我只想拍照,压缩并发送到我的服务器。我不想将它存储到 SD 卡或内部存储器或任何东西,只是发送它。如果这是不可能的,那么我该如何临时存储并删除它?
2)另外,我如何访问我刚刚拍摄的照片并发送?
【问题讨论】:
对于您的第一个问题,我认为没有办法不在手机上保存图片。它需要保存在某个地方,而另一个选项(应用程序内存)肯定会为 OOM 错误创造很多机会。
第二个,你可以像这样创建你的相机意图:
Intent takePictureFromCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureFromCameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(someFilePathString)));
startActivityForResult(takePictureFromCameraIntent, CAMERA_REQ);
这将导致相机活动拍摄的照片存储在someFilePathString.指定的路径然后,在您的onActivityResult(或任何地方)中,您可以使用:File myFile = new File(someFilePathString)访问您要发送的图像你的服务器。
【讨论】: