拍照

注意:本页介绍的是已废弃的 Camera 类。建议您改用 CameraX;在特定的使用场景下,也可以改用 Camera2。CameraX 和 Camera2 都支持 Android 5.0(API 级别 21)及更高版本。

本课程向您介绍了如何通过委托设备上的其他相机应用来拍摄照片(如果您要构建自己的相机功能,请参阅控制相机)。

假设您要实现一项众包气象服务,将由运行您客户端应用的设备拍摄的天空照片融合到一起,制作出一张全球气象图。集成照片只是您应用功能的一小部分。您希望以最省事的方式拍照,而不是重新构建相机。值得高兴的是,大多数搭载 Android 的设备已经至少安装了一个相机应用。在本课程中,您将学习如何使用相机应用拍照。

请求相机功能

如果您的应用的基本功能是拍照,请将其在 Google Play 上的显示范围限制为仅向装有相机的设备显示。如需声明您的应用需要使用相机,请在清单文件中添加 <uses-feature> 代码:

<manifest ... >
    <uses-feature android:name="android.hardware.camera"
                  android:required="true" />
    ...
</manifest>

如果您的应用使用相机,但不需要相机也可以正常运作,您可以将 android:required 设为 false。这样,Google Play 便会允许不搭载相机的设备下载您的应用。但如此一来,就得您自己负责通过调用 hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY) 来检查相机在运行时的可用性。如果相机不可用,您应停用相机功能。