1

我有一个准备好运行的应用程序,它需要有一个后置摄像头。显然它<uses-permission android:name="android.permission.CAMERA" />在清单中有权限,但这并不排除只有一个前置摄像头的 Nexus 7 平板电脑等设备。

没有经过并手动排除设备,我该怎么做?

4

2 回答 2

0

我只知道一个程序化的答案。正如这个问题所示,您可以使用

PackageManager pm = context.getPackageManager();
return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA);

如果设备没有后置摄像头,则返回 false(在 Nexus 7 上为 false)

国旗

FEATURE_CAMERA_FRONT

相反,它仍然是真实的。因此,您可以在启动您的第一个活动时使用此测试,并在您的应用描述中使用一个大警告。

但是,除了手动排除设备之外,我不知道有一种方法可以使用清单来排除符合此条件的设备。

编辑:作为相关链接的另一个问题指出了清单的这个使用功能标志:

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

根据文档:

该应用程序使用设备的相机。如果设备支持多个摄像头,则应用程序使用背对屏幕的摄像头。

因此,对于仅面向前端的设备来说,这有点模棱两可。

于 2013-07-29T10:22:41.273 回答
0

你可以使用在android中给出的uses-feature标签。您必须在清单文件中声明此标签。它会根据给定的条件自动过滤设备。只需在清单中使用此 uses-feature 标记,如下所示:

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

有关更多详细信息,请访问以下链接:- Android 使用 Premission

于 2013-07-29T10:29:07.797 回答