7

我有一个问题:在其 Manifest 文件
中指定 - uses-feature ... "android.hardware.faketouch" android:required="true"- 的应用程序也将显示在 Market 中,该应用程序如何可以在触摸屏设备中运行?


啊。我想我遇到了这个问题。尝试在跨度中放置一个。

<span class="xp-b-leftSide">
   &nbsp;
    </span>

我认为 ie7 有空<span>s 的问题。

4

2 回答 2

14

如果您为 指定要求android.hardware.faketouch,则所有正版触控设备仍会看到列出的应用程序。

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

然而,市场有一个小怪癖,您需要覆盖隐式触摸屏条目并添加required=false到它。不这样做将意味着市场会根据需要同时列出触摸屏和 faketouch,因此仍然不会将其展示给仅 faketouch 的设备。

因此,您的清单应包含:

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

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

于 2011-07-26T07:56:33.070 回答
5

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

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

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

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

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

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

  • 需要触摸屏,不需要 faketouch:1500
  • 不需要触摸屏,需要faketouch:860
  • 两者都不需要:1800
于 2018-08-29T00:54:48.653 回答