【发布时间】:2018-07-23 01:02:22
【问题描述】:
我的目标是开发一个应用程序来同步 iPhone 相机拍摄的所有照片。
我搜索了很多,但找不到太多关于 iPhone 上相机快门的硬件事件。
是否有可能像清单中的android CAMERA_BUTTON BroadcastReceiver 一样,在没有专门启动应用程序的情况下,监听相机按钮是否被按下?
还是在现有 iOS 相机应用上叠加?
2018 年 2 月 5 日更新
我无法直接检测到相机按钮,也没有从相机拍摄的照片中进行持续检测(PHPhotoLibraryChangeObserver)。当应用程序被杀死时,所有侦听器也被杀死。但是,当应用程序使用 locationchange 机制启动时,我正在使用它
最后我使用Using the Significant-Change Location Service 来获取更改图片的检测以同步,正在进行中。我以NextCloud 和OwnCloud 为例,其中包含此部分。
使用重大变化定位服务
【问题讨论】:
-
我不确定我是否理解您的问题。 iPhone 上没有硬件相机按钮。您可以指定一个按钮来拍照,当然,如果按下该按钮,您也可以收听。但是,仅当您构建自己的相机应用程序时。您不能“收听”另一个相机应用的相机按钮,因为它是一个沙盒应用。
-
我的意思是一般来说,如果拍摄照片,Android 广播接收器会独立监听应用程序。关键是要检测是否在任何时候拍摄照片,而不需要一直运行的应用程序。
-
答案是否定的。您无法检测到在别处按下的快门按钮。如果您想在捕获图像后立即获取图像,则可以通过注册更改观察者使用
PHPhotoLibrary获取这些图像。为此,您的应用应该正在运行,至少在后台状态下。 -
有没有可能让它一直在后台运行,不会错过任何拍摄的照片?或者在现有的相机应用程序上进行某种覆盖,以便在默认相机应用程序启动时始终存在?