如何确定Android设备是否有触摸屏?

时间:2010-08-11 01:17:48

标签: android feature-detection touchscreen

我花了很多时间让我的UI只使用键盘输入。但最后我不确定我是否可以依赖Android设备都有触摸屏的假设。

有没有办法确定Android设备是否有触摸屏?

4 个答案:

答案 0 :(得分:24)

您应该研究现有设备并阅读Android Compatibility Definition Document(CDD)并亲自决定。

我花了一些时间试图为自己找出这个问题。上面的海报是正确的,Android已经为一些非触摸设备提供动力,并将在不久的将来为Google TV供电,但目前看来,CDD特别要求所有Android设备必须有触摸屏

基本上,Android兼容性计划旨在对抗您现在担心的fragmentation问题。它列出了一系列要求,如果设备不符合这些要求,则无法访问Android电子市场。这些要求包括触摸屏,无线通信,蓝牙,相机等等。

如果你研究这些平板电脑和上网本,你会发现没有一个带有Android Market。 Augen最近尝试使用他们的新GENTOUCH 78平板电脑进行快速测试,但不得不rescind their claims该平板电脑在被Android兼容性团队击落后会携带Android Market。

因此,如果您只是通过Android电子市场发布应用,那么在Google更改CDD之前您无需担心。但是,如果您想在其他应用商店中提供应用或直接下载,那么您将不得不担心您的关键模式导航问题。

如果有任何安慰,我发现许多应用程序都有完全相同的问题;没有触摸屏就无法使用它们。他们中的许多人也有焦点和软键盘的严重问题。有时候键盘应该隐藏起来。有时,无论您单击EditText多少次,都无法弹出键盘。 IMO,Android框架并没有很好地处理这些事情。

考虑到所有这些,看看Google TV如何适应这一切肯定会很有趣。他们会更新CDD以与他们的机顶盒兼容吗?他们会为Google TV实施使用不同的SDK和CDD吗?在谈到Google TV时,他们会完全忽略兼容性计划吗?你的猜测和我的一样好。

<强>更新
谷歌的某个人似乎终于站出来承认Android还没有准备好在平板电脑上运行: http://phandroid.com/2010/09/10/shocker-google-says-android-not-meant-for-tablets-in-its-current-state/

对我而言,这表明Google并没有为加速采用Android操作系统做好准备,也没有为该平台的未来做好充分准备。支持大于480x800的屏幕几乎是不可能的,三星只能通过与Galaxy Tab上的Google密切合作来实现这一目标。所以我不太确定在不久的将来我们需要担心非触摸屏设备。他们最终会在这里,我敢肯定,但是当他们到达时,我们可能会看到一个单独的应用程序市场,或者现有市场上的一些改进的过滤方案,一个新的CDD,谁知道。

对我而言,这表示谷歌仍在继续播放,我们只需要做同样的事情。

答案 1 :(得分:3)

到目前为止,所有手机都有触摸屏,但没有任何承诺。

然而,有很多上网本,笔记本电脑,很快就会成为没有触摸屏的电视。 然而,这些设备有老鼠。从我所看到的,鼠标输入通过触摸系统被泵送,因此MouseDown是ACTION_DOWN等...(不知道右键点击)

答案 2 :(得分:2)

你的目标是手机吗? Android出现在许多设备上including TV's我不知道是否会发布新的库以将部分设备相互隔离,但如果你想要更广泛的受众,我建议你保持键盘输入可用是

答案 3 :(得分:-1)

Google TV(GTV)是最受欢迎的Android手机设备(截至本答案撰写时)。但是,如果你有“notouch”资源(例如像res / layout-notouch /这样的目录),有几个设备会调用notouch渲染。

为了适应notouch设备,确保焦点将产生视觉选择指示器,并且(对于GTV)按键听众适用于方向键中心按钮。使用默认小部件和主题通常会自动完成大部分操作。如果您自己创建按钮,则需要背景9补丁进行聚焦和聚焦+按下。

在GTV上运行是一个很好的测试环境,可以确保notouch运行良好,现在GTV has an emulator,但它只在Linux / x86上运行。

相关问题