Android 1.1 版本说明

日期:2009 年 2 月
API 级别2

本文档提供了 SDK 中包含的 Android 1.1 系统映像的版本说明。

概览

SDK 中提供的 Android 1.1 系统映像是 Android 1.1 正式版系统映像的开发版本,从 2009 年 2 月开始可部署到 Android 手机上。

Android 1.1 系统映像提供了框架 API 的更新版本。与 Android 1.0 API 一样,系统会为 Android 1.1 API 分配一个整数标识符 (2),该标识符存储在系统本身中。此标识符称为“API 级别”,可让系统在安装应用之前正确确定应用是否与系统兼容。

应用通过向 android:minSdkVersion 属性添加一个值来指示与其兼容的最低系统 API 级别。该属性的值是与 API 级别标识符对应的整数。在安装应用之前,系统会检查 android:minSdkVersion 的值,并且仅当引用的整数小于或等于系统本身中存储的 API 级别整数时,才允许安装。

如果您使用 Android 1.1 系统映像构建与搭载 Android 1.1 平台的 Android 设备兼容的应用,则必须将 android:minSdkVersion 属性设置为“2”,以指定您的应用仅与使用 Android 1.1(或更高版本)系统映像的设备兼容。

具体来说,您要在清单文件中将 <uses-sdk> 元素中的 android:minSdkVersion 属性指定为 <manifest> 的子级。设置后,该属性将如下所示:

<manifest>
  ...
  <uses-sdk android:minSdkVersion="2" />
  ...
</manifest>

通过以这种方式设置 android:minSdkVersion,您可以确保用户只能在运行 Android 1.1 平台的设备上安装您的应用。进而确保您的应用在其设备上正常运行,尤其是当应用使用 Android 1.1 中引入的 API 时。

如果您的应用使用 Android 1.1 中引入的 API,但未声明 <uses-sdk android:minSdkVersion="2" />,则该应用可以在 Android 1.1 设备上正常运行,但不能在 Android 1.0 设备上正常运行。在后一种情况下,当应用尝试使用 Android 1.1 API 时,将在运行时崩溃。

如果您的应用不使用 Android 1.1 中引入的任何新 API,您可以通过移除 android:minSdkVersion 或将该属性设置为“1”来指示与 Android 1.0 兼容。不过,在发布应用之前,您必须确保针对 Android 1.0 系统映像(在 Android 1.0 SDK 中提供)编译应用,以确保其能够在 Android 1.0 设备上正常构建和运行。您应根据与应用设计兼容的 API 级别相对应的系统映像来测试应用。

如果您确定应用使用的不是 Android 1.1 API 且不需要使用它们,您可能会发现继续使用 Android 1.0 SDK 比迁移到 Android 1.1 SDK 和进行其他测试更容易。

外部库

系统映像包含这些外部库,您可以通过添加 <uses-library> 从应用访问这些库。

  • com.google.android.maps - 授予您的应用访问 Google 地图数据的权限。请注意,如需使用 Google 地图数据,您必须拥有 Maps API 密钥。

设备兼容性

Android 1.1 系统映像已经过测试,可与下列 Android 设备兼容:

  • T-Mobile G1

内置应用

系统映像包含以下内置应用:

  • 闹钟
  • API 演示
  • 浏览器
  • 计算器
  • 相机
  • 通讯录
  • 开发者工具
  • 拨号器
  • 电子邮件地址
  • 地图(和街景)
  • 消息功能
  • 音乐
  • 图片
  • 设置

界面本地化

系统映像为下面列出的语言提供本地化的界面字符串。

  • 英语、美国 (en_US)
  • 德语 (de)

本地化的界面字符串与可在模拟器中显示的语言区域(可通过设备的“设置”应用访问)匹配。

“已解决”问题

  • AlarmClock 提醒现在会直接播放音频/振动,而不是通过 AlarmManager。AlarmClock 提醒会在其 IntentReceiver 中开始播放音频/振动,而不是在 activity 启动时播放。这些更改应该可以防止警报被模态对话框屏蔽。
  • 修复了设备休眠问题。
  • 用户点按一次后,系统不会再打开通话拨号键盘;用户现在需要轻触并拖动该拨号键盘。
  • 修复了以下 bug:在转移到“已发邮件”文件夹时,大约每 25 封邮件中约 1 封出站邮件冻结(与基于 Gmail 的服务器之间的 IMAP 连接)。
  • 移除已损坏或无法测试的自动帐号设置条目。对其余几个条目进行了细微修复。改进了用于一些特殊情况的警告对话框。
  • 将默认邮件检查间隔更改为每 15 分钟一次(而不是默认为“永不”)。
  • 修复了 IMAP 中的密码引用 bug,让用户可以在密码中包含特殊字符(例如空格)。
  • 修复自动和手动帐号设置中的各种错误
  • 改进了针对各种连接错误的报告,让用户更轻松地诊断设置失败的账号。
  • 修复了 POP3 帐号的新邮件通知。
  • 确保正确自动检查标记为“永不检查”的帐号。
  • 现在,根据用户偏好设置显示日期和时间(例如,24 小时制与上午/下午)。
  • 现在会在邮件视图中显示“抄送:”。
  • 改善了从 POP3 连接失败时恢复的功能。
  • POP3 解析器规则已放宽,因此应用可以使用不合规的电子邮件服务器。

新功能

  • 地图:当用户在 Google 地图上搜索并点击商家查看其详情时,可以添加详情和评价。
  • 拨号器:现在,使用扬声器时,通话屏幕超时默认值延长了。
  • 拨号器:在通话菜单中添加“显示拨号键盘”/“隐藏拨号键盘”项,方便用户更轻松地发现 DTMF 拨号键盘。
  • 添加了对保存彩信附件的支持
  • 添加了对布局中滚动字幕的支持

API 更改

概览

  • 为测试系统添加了注解,没有实际(非测试)API 更改。
  • 添加了可让进程轻松确定其 UID 的方法。
  • 添加了对布局中滚动字幕的支持
  • 添加了用于确定 View 中内边距的新方法。如果您要编写自己的 View 子类,这会很有用。
  • 添加了允许应用广播短信或 WAP 推送消息的新权限。
  • API 清理:从绑定了 SDK 的系统映像中移除受保护的构造函数。

API 变更详情

模块或功能更改说明
用于测试系统的注解
添加了 LargeTest 注解。
添加了 MediumTest 注解。
添加了 SmallTest 注解。
允许进程轻松了解其 UID。
android.os.Process 类添加了公共方法 myUid()
视图内边距
android.view.View 类添加了公共方法 getBottomPaddingOffset()
android.view.View 类添加了公共方法 getLeftPaddingOffset()
android.view.View 类添加了公共方法 getRightPaddingOffset()
android.view.View 类添加了公共方法 getTopPaddingOffset()
android.view.View 类添加了公共方法 isPaddingOffsetRequired()
选取框支持
TextView 类添加了公共方法 setMarqueeRepeatLimit(int)
添加了公开字段“android.R.attr.marqueeRepeatLimit
新权限
添加了公开字段“android.Manifest.permission.BROADCAST_SMS
添加了公开字段“android.Manifest.permission.BROADCAST_WAP_PUSH
API 清理
移除了受保护的构造函数 java.net.ServerSocket.ServerSocket(java.net.SocketImpl)。