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

Hid*_*oid 36 android touchscreen feature-detection

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

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

Nei*_*aft 24

您应该研究现有设备并阅读Android兼容性定义文档(CDD)并自行决定.

我花了一些时间试图为自己找出这个问题.上面的海报是正确的,Android已经为一些非触摸设备供电,并将在不久的将来谷歌电视供电,但就目前而言,CDD特别要求所有Android设备都必须配备触摸屏.

基本上,Android兼容性计划的创建是为了对冲你现在担心的那种碎片问题.它列出了一系列要求,如果设备不符合这些要求,则无法访问Android Market.这些要求包括触摸屏,无线通信,蓝牙,相机等等.

如果你研究这些平板电脑和上网本,你会发现没有一个人携带Android Market.Augen最近尝试使用他们的新款GENTOUCH 78平板电脑进行快速测试,但不得不取消他们声称这款平板电脑在被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 -用于片剂合其电流状态/

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

对我而言,这表明谷歌仍然在聆听,我们只需要做同样的事情.

  • 我们已经有了将要发生的事情的先例 - 如果CDD的未来版本允许设备缺少必需的功能并且应用程序可以依赖,那么部分更改将涉及对这些应用程序的平台支持.这可能采取兼容现有应用程序的兼容性继续工作(请参阅不同屏幕密度的介绍),或过滤现有应用程序,直到它们更新为明确支持新类型的设备(请参阅小屏幕介绍). (3认同)