我的应用需要相机才能工作.但是,无论是后置摄像头还是前置摄像头都没关系.
现在,我在我的清单中有这个:
<uses-feature android:name="android.hardware.camera"/>
要求正面相机,我知道我也可以添加这个:
<uses-feature android:name="android.hardware.camera.front"/>
但是我想支持所有拥有相机的设备.反正有没有这样做?
例如,我想支持只有正面相机的Nexus 7.但我也想支持带后置摄像头的设备.
根据我所做的一些研究,例如:
http://code.google.com/p/android/issues/detail?id=35166
看来这是不可能的.
我认为解决这个问题的一种方法是制作2个单独的APK,一个使用android.hardware.camera,另一个使用android.hardware.camera.front并使用其Multiple APK Support将其上传到Google Play.我还没有测试过它但是.
有没有人找到一种推荐的方式来支持所有带有正面摄像头,后置摄像头或两者的设备,而不是没有任何摄像头的设备?
解决方法
几个想法(没有明确的答案):
a)我相信你是对的,目前没有好的方法可以要求任何一个摄像头进入APK.
b)如果需要,可以删除uses-feature并在运行时检查相机.它会使用户体验变得更糟,但它会起作用.
c)您可以使用use required =“false”(http://developer.android.com/guide/topics/manifest/uses-feature-element.html).希望Google Market使用此标记优先处理应用程序.
c)旁注.据我所知,大多数Android设备都有摄像头.因此,如果您使用解决方案b)或c),只有非常小的用户群会注意到差异