我试图找出是否有办法检测 Android 设备上相机的“地理标签”或“商店位置”设置。我不是指我非常熟悉的一般位置访问设置,而是在您使用相机时更“隐藏”的设置。
大多数用户甚至都不知道它的存在,默认情况下它是关闭的,我希望能够告诉用户这个设置是关闭的,这样他们就可以根据需要打开它,这样图片就会有所有的有关其位置的 EXIF 数据。
我希望这个问题之前没有得到回答,如果是这样,我很抱歉,请您将我链接到正确的线程。
我试图找出是否有办法检测 Android 设备上相机的“地理标签”或“商店位置”设置。我不是指我非常熟悉的一般位置访问设置,而是在您使用相机时更“隐藏”的设置。
大多数用户甚至都不知道它的存在,默认情况下它是关闭的,我希望能够告诉用户这个设置是关闭的,这样他们就可以根据需要打开它,这样图片就会有所有的有关其位置的 EXIF 数据。
我希望这个问题之前没有得到回答,如果是这样,我很抱歉,请您将我链接到正确的线程。
每个 Android 设备通常都带有自己的自定义相机应用程序,由该设备的制造商制作。每个都有自己的 UI,并且可能有自己的方式/位置来存储此设置,如果它甚至存在于该设备。所以这个问题的任何答案都将严重依赖于设备。
但是,即使您只使用 AOSP 相机应用程序(Nexus 设备上使用的应用程序),也没有适用于此的 API。该应用程序会在第一次运行应用程序时询问您是否要启用 GPS 标记,之后可以在设置中找到启用/禁用地理标记的选项。
无法确认该设置是否开启,因为它不是任何公共或标准 Android API 的一部分。您可能可以使用辅助功能 API 执行某些操作来读取这些设置,但这样做需要大量权限(此处为辅助功能服务文档)。
要从文件中提取EXIF
信息,您可以考虑一个类似于此代码片段updateExif
中所示示例的示例。这将使您能够获取存储在文件中的所有信息,包括品牌、闪光灯、焦距等。EXIF
谈到 Nexus 设备附带的 Android 4.3 相机应用程序,您可以查看和更改设置,如下所示:
打开相机应用程序。
白色圆圈(应用程序屏幕底部三个图标中最右边的)用于调出主菜单。如果“商店位置”被关闭,该圆形图标将显示一个带有一条线的小位置图标。如果打开“存储位置”,则没有肯定的指示。如果要更改设置,请点击它继续。
点击设置图标(中间的五个图标)以调出“更多选项”菜单。
“商店位置”图标是五个图标中最左边的。点击该图标可切换设置(并关闭菜单)。如果“商店位置”关闭,则显示该图标并带有一条穿过它的线,否则没有。