您好
我创建了一个相机应用并设置了几个<uses-feature>
,其中一个是 android.hardware.Camera (已弃用)。我尝试发送我的APK,但Google决定将“支持的设备”添加到 0 。我尝试用 android.hardware.camera2 做同样的事,但结果是一样的;没有支持的设备。
是什么导致这种情况?
答案 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.html和https://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所指出的那样)。