<用途功能... "android.hardware.faketouch"



我有一个问题:
在Manifest文件中指定-uses-feature ... "android.hardware.faketouch" android:required="true"的应用程序也将在市场上展示如何在触摸屏设备中运行应用程序?

如果您指定了android.hardware.faketouch的要求,那么所有真正的触摸设备仍然会看到列出的应用程序。

faketouchtouchscreen的超集,因此任何拥有真正触摸屏的人都隐含地支持faketouch,因为他们可以执行它支持的所有操作。

然而,市场有一个小怪癖,你需要覆盖隐含的触摸屏条目,并将required=false添加到其中。如果不这样做,意味着市场会根据需要列出触摸屏和faktouch,因此仍然不会将其显示给仅限faktough的设备。

因此,您的舱单应包含:

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

这将允许您的应用程序显示所有设备,包括仅限faketouch的设备。

http://www.saschahlusiak.de/2012/10/android-hardware-faketouch-vs-android-hardware-touchscreen/

默认情况下,Android应用程序需要Android硬件触摸屏功能,然后在Google Play中用于过滤,因此只有具有触摸屏功能的设备才能安装该应用程序。

除此之外,还有一个更基本的功能,android.hardware.faketouch.

如果应用程序不需要触摸屏功能,建议将android.hardware.touchscreen设置为不需要,而是声明android.hhardware.faketouch

<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.faketouch" android:required="true" />

如果你这样做,请查看Google Play上的结果,其中显示了支持的设备数量:

  • 需要触摸屏,不需要faktouch:1500
  • 不需要触摸屏,需要faktouch:860
  • 两者都不需要:1800

最新更新