我正在考虑为 Android 创建一个屏幕阅读器。我的问题如下。一、Android 的内部有多少是通过 Java API 暴露出来的?我正在寻找诸如显示文本时的系统范围通知、启动新应用程序的通知等内容。我宁愿不必修改内核源代码,只允许我的应用程序在开发人员手机上运行。第二,假设没有应用程序运行,G1 上还剩下多少处理器和内存?三假设手机上平均使用应用程序还剩下多少处理器和内存?
更多信息
我知道应用程序不应设计为在特定手机上运行。我之所以选择 G1,是因为它是我所知道的目前运行 Android 的最受欢迎的手机。我正在寻找我的程序必须适应的低端系统规格,它可能在安装了 Android 的上网本上运行良好,但在大多数 Android 手机上使用大量内存和处理器。
更新:
现在有两个使用 Android 1.6 的屏幕阅读器项目,它们可以在
http://google-opensource.blogspot.com/2009/10/talkback-open-source-screenreader-for.html
http://找到spiel.thewordnerd.info/
2 回答
AFAIK,出于安全原因,其他应用程序的屏幕内容(文本、图形)不会在 Android 中公开。否则,人们可能会获取联系信息或显示的任何个人信息,并将其用于恶意目的。因此,开发人员目前无法创建一个能够说出另一个应用程序显示的文本的 Android 应用程序,也无法捕获屏幕。这种情况与 PC 上的 Microsoft Windows 不同,后者的应用程序几乎可以做任何他们喜欢的事情,因此用户必须自己决定任何给定应用程序的来源是否可信。
遗憾的是,市场上仍然没有适用于 Android 的屏幕阅读器,因此如果您或其他人可以创建它会很棒,但鉴于上述情况,看起来只有与 Google 直接安排才能提供所需的信任级别安全限制。由于 Google 正在积极改进 TTS 并将其集成到 Donut 中,因此创建一个类似讲述人的基本屏幕阅读器(如在 Windows 中)或提供类似的基于触摸的可访问性解决方案似乎是一个相当简单的额外步骤在 iPhone 3G S 上使用 VoiceOver。
最好的祝福,
彼得·梅杰
Android 版语音 http://www.seeingwithsound.com/android.htm
(1) 取决于你在寻找什么。你最好自己检查一下。我不知道有任何辅助技术,但我也没有在寻找它们。
关于您要求的两个特定功能:(a) 通知是 API 的一部分。(b) 我不知道您会收到关于正在启动的应用程序的通知。
(2/3) 我不知道可用于应用程序的一般 RAM 量,但我可以给你一个实用的答案。如果您的应用程序尝试获取超过 16MB 的数据,它将被终止。我不知道确切的时钟速度,但在 android-dev 列表中提到 G1 不能全速运行。其背后的基本原理是,除其他外,更快的速度会更快地耗尽电池。
关于这个问题的另一个实际问题。如果您想讨论约束,请转到 android-dev 列表。