2013-03-18 73 views
5

我试图找出是否有办法检测“地理标记”或“商店位置”设置在Android设备上的相机。我不是说我非常熟悉的一般位置访问设置,但是当您使用相机时,更“隐藏”的设置。如何检测Android Camera Geo标记设置是否打开/关闭(EXIF数据中的GPS信息)

大多数用户甚至不知道它存在,并且它默认关闭,我希望能够告诉用户此设置已关闭,以便他们可以打开它,如果他们想要,这样图片将具有关于其位置的所有EXIF数据。

我希望这之前没有回答过,如果是这种情况,我对此感到抱歉,请您将我链接到正确的线索。

回答

2

要从文件中提取EXIF信息,可以考虑一个与此code snippet中显示的updateExif示例类似的示例。这将使您能够获取存储在EXIF文件中的所有信息,包括制作,闪光灯,焦距等。

+1

我知道如何提取EXIF信息,这不是我的问题。我也知道在哪些情况下,有关LAT/LON的EXIF信息将可用,即电话设置的“位置访问”和相机的“存储位置”设置都将打开。您是否知道如何确认相机的“存储位置”设置已打开? – Julz 2013-03-18 17:46:04

4

每个Android设备通常都附带自己的自定义相机应用程序,该应用程序由该设备的制造商制作。每个用户都有自己的用户界面,并且可能拥有自己的方式/地点来存储该设置,如果该设备存在的话。所以对这个问题的任何答案都会严重依赖于设备。

但即使您只是将自己的设备限制在Nexus设备上使用的应用程序AOSP相机应用程序中,也没有用于此的API。该应用程序询问您是否要在首次运行该应用程序时启用GPS标记,然后在设置中找到启用/禁用地理标记的选项。

由于它不是任何公共或标准Android API的一部分,因此无法确认该设置是否处于打开状态。您可能可以使用辅助功能API执行某些操作来读取这些设置,但它需要相当的权限才能执行此操作(Accessibility service documentation here)

+0

如何使用辅助功能服务实现? – 2013-08-06 12:08:26

0

说起随附的Nexus设备的Android 4.3摄像头的应用程序,您可以查看和更改设置是这样的:

  1. 打开相机应用。

  2. 白色圆圈(应用程序屏幕底部的三个图标的最右边)用于调出主菜单。如果“商店位置”被关闭,该圆形图标将显示一个小的位置图标和一条线。如果“商店位置”开启,则没有正面指示。如果要更改设置,请点击它以继续。

  3. 点击设置图标(五个中间的图标)打开“更多选项”菜单。

  4. “商店位置”图标是最左边的五个。点击该图标切换设置(并关闭菜单)。如果“商店位置”处于关闭状态,则该图标会显示一条直线,否则不显示。