我知道我的问题超出了这个社区的范围。这里不是问这样一个问题的地方,但是我确实需要这个问题的答案。在互联网上没有正常现象。我认为您将得到谅解,不会对这个问题投反对票。谢谢。
所以我的问题与相机有关。当应用程序需要使用系统摄像机时,我们使用intent
操作创建一个ACTION_IMAGE_CAPTURE
,并在manifest
文件中添加这样的权限。
<uses-permission android:name="android.permission.CAMERA"/>
。
但是除此之外,还有这样一种
<uses-feature android:name="android.hardware.camera"/>
。
它是做什么用的?我读到,如果写了这行,那么如果手机没有摄像头,则该应用程序将无法安装。是真的吗除此之外,我们为什么需要这个?
清单文件中的行<uses-feature/>
通常负责什么?谢谢。
答案 0 :(得分:2)
<uses-feature android:name="android.hardware.camera"/>
以上行将用于检查设备是否具有相机硬件。
当您在Play商店上载应用时,他们会根据特定设备的功能来过滤您的应用,
如果有任何设备会在Play商店中搜索您的应用,而该设备没有相机硬件,则将不允许他们在该设备上安装应用。
但是,如果您的要求是在设备没有camara硬件的情况下强制下载该应用程序,则可以使用:
<uses-feature android:name="android.hardware.camera" android:required="false"/>
android:required =“ false”将允许您安装
希望您能理解
答案 1 :(得分:2)
<uses-feature>
的Google documentation本身明确指出:
Google Play使用您的应用中声明的
<uses-feature>
元素 清单以从不符合其硬件的设备中过滤您的应用 和软件功能要求。通过指定应用程序所需的功能,可以启用 Google Play仅向其设备的用户展示您的应用 满足应用程序的功能要求,而不是展示它 所有用户。
Android中的某些权限已连接至设备的某些硬件/软件功能,例如CAMERA。由于市场上每款Android设备的硬件和软件配置都不同,因此您尝试添加到应用程序中的某些功能可能不支持所有Android设备的可能性更大。如果您尝试在无摄像头的设备中使用摄像头(肤浅的假设),则您的应用将无法正常运行。
简而言之,如果您希望您的应用仅可用于具有该特定功能的设备集,则可以在清单中添加具有所需功能的<uses-feature>
标签。
这仅用于根据设备配置和支持过滤Play商店中的应用。
您可以根据需要定义零个或多个<uses-feature>
功能。
注意:如果您不希望仅出于不影响应用整体用户体验的功能就将其过滤掉,则可以明智地禁用特定功能功能,如果它在您的应用程序中不可用。
为此,您必须编写
<uses-feature android:name="YOUR_NON_COMPULSORY_FEATURE" android:required="false" />
例如,如果您的应用程序使用CAMERA功能,但您的应用程序不依赖于该功能,则可以仅禁用CAMERA功能以提供非笨拙的用户体验。
答案 2 :(得分:1)
这是非常重要的部分。假设您的应用程序使用特定的硬件,并且对于您的应用程序而言必不可少的是,硬件必须在设备上可用才能使用您的应用程序。如果已定义,则将针对具有特定硬件的那些设备过滤掉您的应用。
注意:在Google Developer网站上已有详细记录
** Google Play使用您的应用清单中声明的元素来从不符合其硬件和软件功能要求的设备中过滤您的应用。
通过指定应用程序所需的功能,可以使Google Play仅向其设备满足应用程序功能要求的用户展示应用程序,而不向所有用户展示该应用程序。**
下面是进一步参考指南的链接
答案 3 :(得分:1)
<uses-feature/>
可以指导Google Play商店从不具有相机硬件的设备中过滤出此应用程序。
答案 4 :(得分:1)
作为开发人员-让我们针对您的应用向我们问这个问题。
用户如何处理我的手机没有相机的应用程序?
如果上述问题的答案是“不多”-那么,如果用户不能做很多事情,那么允许用户在手机上安装您的应用程序又有什么意义呢?对于用户而言,这是浪费时间和互联网带宽。
如果最终得知该应用程序的使用率不高,使用户感到非常沮丧,那么他们可能会在Play商店中对您的应用程序评级不佳。
因此,这里有<uses-feature/>
选项可以保护开发人员和用户免受上述情况的影响。