【问题标题】:Android: How to add a API exception?Android:如何添加 API 异常?
【发布时间】:2014-08-25 11:21:04
【问题描述】:

我正在开发一个包含 EditTexts 的应用,并且我想支持 API 21 (Android L)。

但我的应用包含 EditTexts,并且由于 API 20 (4.4 Android KitKat Wear) 不支持 EditTexts,如何向 API 20 添加例外并阻止 Android Wear 用户下载 /strong> 它来自 Play 商店,同时仍支持 API 21?

【问题讨论】:

  • EditText 在 API 级别 20 上绝对可用。它们可能在 Wear 设备上不可用,但这与 API 级别无关。
  • @CommonsWare 是对的,即使不是这样,您也可以在清单和/或开发人员控制台中指定哪些设备能够运行您的应用程序。当一个毫无戒心的用户第一次运行你的应用程序时抛出一个异常是非常糟糕的,只能留下一种印象:一个糟糕的印象。
  • EditText 在 API 20 中不可用。
  • 是什么让你认为它不是?请向我解释一下:为什么从一开始就在 Android 框架中的类会突然在 API 级别 20 中被删除?你错了。
  • API 级别 20 适用于 Android Wear 设备,不适用于普通的 Android 手机。检查这个stackoverflow.com/questions/24592647/…

标签: java android android-edittext google-play-services wear-os


【解决方案1】:

但我的应用包含 EditTexts,并且由于 API 20(4.4 Android KitKat Wear)不支持 EditTexts,

首先,API Level 20 支持EditText。您可以通过实际尝试来判断这一点。例如,我刚刚使用了this sample project,它不仅可以在 API Level 20 的构建目标上正常编译,而且在 API Level 20 模拟器上运行良好。问题(如果有)与硬件有关,而不是API 级别

其次,Android Wear 用户无法在其 Wear 设备上下载应用。他们为手机下载应用程序,这些手机应用程序内部有一个 Wear 应用程序(作为原始资源),然后加载到 Wear 设备上。只要您不创建使用 EditText 的 Wear 应用,然后将该 Wear 应用打包到另一个应用中进行分发,您就安全了。

【讨论】:

  • @MarkRenouf:“穿戴式设备不支持键盘”——我想这取决于制造商。此外,这不会改变 API 级别 20 支持 EditText 的事实。不要将设备(Wear)与 API 级别混淆。例如,Google TV 设备不支持 NDK;这并不意味着 Android 3.1 不支持 NDK。
  • 我明白 -- 我不清楚他在问什么。我以为他声称 Wear 将支持“L”中的 EditText,这没有任何意义。但事实上你的回答是正确的——他不明白穿戴应用程序的包装与普通应用程序截然不同,而不是直接从 Play 安装。
猜你喜欢
  • 2019-07-06
  • 2018-02-20
  • 1970-01-01
  • 2014-09-20
  • 2018-02-11
  • 2014-06-10
  • 2019-04-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多