Google Developers不会让我使用android.hardware.Camera或camera2

时间:2016-12-06 08:07:23

标签: android android-studio android-fragments google-play android-manifest

您好

我创建了一个相机应用并设置了几个<uses-feature>,其中一个是 android.hardware.Camera (已弃用)。我尝试发送我的APK,但Google决定将“支持的设备”添加到 0 。我尝试用 android.hardware.camera2 做同样的事,但结果是一样的;没有支持的设备。

是什么导致这种情况?

2 个答案:

答案 0 :(得分:4)

您添加了:

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

但你还需要:

<uses-permission android:name="android.permission.CAMERA" />

也许还有:

<uses-feature android:name="android.hardware.camera.autofocus" />

检查https://developer.android.com/guide/topics/media/camera.htmlhttps://developer.android.com/reference/android/hardware/Camera.html是否满足所有要求

答案 1 :(得分:1)

请注意,Android API软件包(如android.hardware.camera2软件包或类android.hardware.Camera)与Android等功能(如FEATURE_CAMERA)之间没有自动映射。

这些功能必须有完全匹配的字符串 - 说你需要功能&#34; android.hardware.Camera&#34;与&#34; android.hardware.camera&#34;不同。后者是FEATURE_CAMERA的值,前者并不存在于官方SDK中。如果您要求它,您将不会匹配任何设备,因为没有设备列出该功能。

同样,新的camera2 API没有单独的功能 - 如果设备有摄像头,它会在某个级别上支持camera2。所以只需要FEATURE_CAMERA即可。如果您需要功能强大的相机设备,例如FULL-level camera2实现,那么您可能需要FEATURE_CAMERA_LEVEL_FULL

但列出功能并不能让您使用它们 - 它只会限制您的应用与哪些设备兼容。您可以使用相机API,无论您是否列出FEATURE_CAMERA(尽管您需要获得许可,正如Raymond de la Croix所指出的那样)。