从Android应用程序中删除特定的硬件请求

问题描述:

在我的应用程序中,我使用Camera对象打开手电筒。但是,我会检查是否有手电筒,如果没有,我不会使用任何对Camera对象的调用。但是,仍然有一个自动添加到manifest的需求 - android.hardware.camera。从Android应用程序中删除特定的硬件请求

我该如何删除它?如果没有摄像头,我可以保证不会有相机拨打电话。

在Manifest中使用<uses-feature>以及<uses-permission>属性,以了解在应用中使用但不是非常必要的功能。

对于如这里,

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

通过显式指定android:required属性为false,应用程序可以在设备上工作,没有摄像头

从文档页面

如果一项功能被明确声明为不需要,Google Play 不会将该功能添加到所需功能的列表中。对于这个 的原因,在过滤应用程序时,显式声明的非必需功能绝不会是 。即使设备不提供声明的功能,Google Play仍然会考虑与设备兼容的 应用程序,并会将其显示给用户, 除非其他过滤规则适用。

像谷歌播放应用程序的过滤器,如果硬件功能提供有不要求明确声明,应用程序可以在设备上工作,没有摄像头支持