从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仍然会考虑与设备兼容的 应用程序,并会将其显示给用户, 除非其他过滤规则适用。
像谷歌播放应用程序的过滤器,如果硬件功能提供有不要求明确声明,应用程序可以在设备上工作,没有摄像头支持