【问题标题】:How to create an auto-upload Android picture app?如何创建一个自动上传的安卓图片应用程序?
【发布时间】:2013-05-20 11:28:57
【问题描述】:

我正在尝试创建一个自动将图片上传到我的服务器的应用。这个想法是用户使用本机/普通相机创建图片,我的应用会收到通知(捕获事件)并上传图片(在后台)。

我找到了适用于 Windows Phone (see here) 的解决方案,但不适用于 Android。我怎样才能做到这一点? - 这在技术上是可能(使用给定的 API)还是仅适用于合同服务的特殊功能(Facebook 或 Dropbox 这样做)?

谢谢!

【问题讨论】:

  • 嗨萨玛斯。我不确定如何改进我的问题,因为我不确定我的想法是否可行,因为我在论坛中找不到类似的答案或文档中的提示。事实上,一些著名的应用程序(如 Facebook、Dropbox)已经做到了这一点,并且在 Windows Phone 平台上是可能的。因此,我认为这篇文章确实对社区有价值......谢谢。
  • 是的,这是可能的。相机返回带有位图的意图。您可以使用 HTTP 请求将其发送到您的服务器。在从应用程序发送并在服务器上检索位图时,您可以对位图进行编码/解码。
  • 谢谢。我想我可以设法将图片(位图)上传到服务器,因为有很多可用的资源和教程。但是,我如何知道 Android 和 iOS 上的用户何时拍照(即如何获取事件或启动后台上传程序)? - 谢谢!

标签: android file-upload upload cloud backgroundworker


【解决方案1】:

现在我不相信会为其他活动可以收听的相机捕获事件触发广播。

但这是你可以做的。 为 "android.intent.action.CAMERA_BUTTON" 声明一个意图过滤器并为其提供最高优先级 - 999

这将为您提供本地相机触发的广播的句柄。但是,这会从本机应用程序窃取广播。因此,您可能必须自己处理保存文件,或者制定一个 hack 以将控制权交还给本机应用程序。

不知道有没有更好的办法。第三方摄像头的用例也不能多说。

编辑:

经过进一步检查,有更好的方法。收听android.media.action.IMAGE_CAPTURE 会产生更好的结果,并且应该完全符合您的要求。

【讨论】:

  • 嗨,萨玛斯。谢谢你的文章。这听起来很有趣。我可以将 Intent 注册为事件触发器,并且如果拍摄了新照片,我的应用程序会收到这样的事件,这对吗?然后它可以在后台处理图片内容(即上传到服务器)?我还在这里找到了一些有用的信息:vogella.com/articles/AndroidIntent/article.html
  • 最好的方法是亲自尝试一下。我以前从未听过这个意图。理论上它应该工作。是的,如果您是 android 新手,该教程将帮助您了解如何使用 Intent。您还可以在 developer.android.com 上查找这些意图,以了解它们的特定怪癖/用法。
  • 好的,谢谢。我现在主要检查什么平台上的可能性,因此很高兴知道它在理论上可行。再次感谢您的帮助!
猜你喜欢
  • 2013-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-23
  • 1970-01-01
  • 1970-01-01
  • 2011-05-14
  • 2012-02-25
相关资源
最近更新 更多