API Android 2.2

Cấp độ API: 8

Android 2.2 là một bản phát hành nhỏ trên nền tảng bao gồm các tính năng dành cho người dùng, tính năng dành cho nhà phát triển, các thay đổi về API và các bản sửa lỗi. Để biết thông tin về các tính năng dành cho nhà phát triển và những thay đổi về API, hãy xem mục Framework API (API Khung).

Đối với các nhà phát triển, nền tảng Android 2.2 có sẵn dưới dạng một thành phần có thể tải xuống cho SDK Android. Nền tảng có thể tải xuống bao gồm thư viện Android và hình ảnh hệ thống, cũng như một bộ giao diện trình mô phỏng và nhiều nội dung khác. Để bắt đầu phát triển hoặc kiểm thử trên Android 2.2, hãy sử dụng Trình quản lý SDK Android để tải nền tảng này xuống SDK của bạn.

Thông tin nổi bật về nền tảng

Để biết danh sách các tính năng mới dành cho người dùng và thông tin nổi bật về nền tảng, hãy xem tài liệu Những điểm nổi bật của nền tảng Android 2.2.

Cấp độ API:

Nền tảng Android 2.2 cung cấp phiên bản cập nhật của API khung. API Android 2.2 được gán một giá trị nhận dạng số nguyên — 8 — được lưu trữ trong chính hệ thống. Giá trị nhận dạng này được gọi là "Cấp độ API" cho phép hệ thống xác định chính xác liệu ứng dụng có tương thích với hệ thống hay không trước khi cài đặt ứng dụng.

Để dùng các API được giới thiệu trong Android 2.2 ở ứng dụng, bạn cần đặt giá trị thích hợp là "8" trong các thuộc tính android:minSdkVersion của phần tử <uses-sdk> trong tệp kê khai của ứng dụng.

Để biết thêm thông tin về cách sử dụng Cấp độ API, hãy xem tài liệu về Cấp độ API.

Các thay đổi đối với API Khung

Các phần dưới đây cung cấp thông tin về những thay đổi đối với API khung ứng dụng do nền tảng Android 2.2 cung cấp.

Cài đặt ứng dụng trên phương tiện bộ nhớ ngoài

Nền tảng Android hiện cho phép các ứng dụng yêu cầu cài đặt trên phương tiện lưu trữ ngoài của thiết bị (chẳng hạn như thẻ SD), thay vì cài đặt vào bộ nhớ trong của thiết bị.

Nhà phát triển ứng dụng có thể biểu thị vị trí cài đặt ưu tiên cho các ứng dụng của họ bằng thuộc tính mới của <manifest> trong tệp kê khai android:installLocation. Thuộc tính này hỗ trợ 3 giá trị: "internalOnly", "preferExternal""auto". Tại thời điểm cài đặt, hệ thống sẽ kiểm tra giá trị của android:installLocation và cài đặt ứng dụng .apk theo vị trí ưu tiên (nếu có thể). Nếu ứng dụng đã yêu cầu cài đặt bên ngoài, thì hệ thống sẽ cài đặt ứng dụng đó vào một phân vùng riêng tư được mã hoá trong phương tiện bên ngoài. Sau khi tệp .apk được cài đặt bên ngoài, hệ thống sẽ cho phép người dùng thay đổi vị trí lưu trữ của tệp .apk và di chuyển tệp đó vào bộ nhớ trong của thiết bị nếu cần (và ngược lại), thông qua phần Quản lý ứng dụng trong phần cài đặt của người dùng.

Theo mặc định, hệ thống sẽ cài đặt tất cả ứng dụng vào bộ nhớ trong của thiết bị, ngoại trừ những ứng dụng yêu cầu cài đặt bên ngoài một cách rõ ràng. Điều này có nghĩa là hệ thống sẽ luôn cài đặt các ứng dụng cũ vào bộ nhớ trong vì chúng không có quyền truy cập vào thuộc tính android:installLocation. Tuy nhiên, bạn có thể định cấu hình và biên dịch một ứng dụng cũ để ứng dụng đó được cài đặt nội bộ trên các phiên bản cũ của nền tảng và bên ngoài trên các nền tảng Android 2.2 trở lên, nếu cần.

Xin lưu ý rằng việc yêu cầu cài đặt trên phương tiện bên ngoài của thiết bị không phù hợp với mọi ứng dụng, cụ thể là do phương tiện bên ngoài có thể tháo rời và việc tháo/gắn lại có thể làm gián đoạn trải nghiệm người dùng và chế độ cài đặt hệ thống.

Để biết thêm thông tin về cách đặt vị trí cài đặt ưu tiên cho ứng dụng, bao gồm cả nội dung thảo luận về những loại ứng dụng nên và không nên yêu cầu cài đặt bên ngoài, vui lòng đọc tài liệu về Vị trí cài đặt ứng dụng.

Sao lưu dữ liệu

Nền tảng này hiện cung cấp dịch vụ sao lưu chung mà các ứng dụng có thể sử dụng để sao lưu và khôi phục dữ liệu người dùng, nhằm đảm bảo người dùng có thể duy trì dữ liệu của họ khi chuyển đổi thiết bị hoặc cài đặt lại ứng dụng. Trình quản lý bản sao lưu xử lý công việc di chuyển dữ liệu ứng dụng đến và đi từ khu vực lưu trữ bản sao lưu trên đám mây. Trình quản lý sao lưu có thể lưu trữ mọi loại dữ liệu, từ dữ liệu tuỳ ý đến các tệp, cũng như quản lý các hoạt động sao lưu và khôi phục một cách chi tiết. Để biết thêm thông tin, hãy xem bài viết Sao lưu dữ liệu.

Đồ hoạ

Nội dung nghe nhìn

  • Các API mới trong android.media.AudioManager để quản lý quyền phát âm thanh, kiểm soát quá trình truyền tải, mất quyền phát âm thanh tạm thời, giảm âm thanh.
  • Ý định truyền tin mới để định tuyến âm thanh đến SCO – ACTION_SCO_AUDIO_STATE_CHANGED với các dữ liệu bổ sung cho biết trạng thái mới.
  • API mới trong SoundPool để phát hiện đã hoàn tất quá trình tải âm thanh.
  • Các API mới trong SoundPool để tự động tạm dừng và tiếp tục.
  • Các API mới trong MediaRecorder để chỉ định chế độ cài đặt âm thanh cho số kênh, tốc độ mã hoá và tốc độ lấy mẫu, tốc độ lấy mẫu.
  • Các API mới cho phép thêm tệp vào cơ sở dữ liệu nội dung đa phương tiện để tệp được quét tự động. Hãy xem MediaScannerConnection.scanFileMediaScannerConnection.OnScanCompletedListener.

Nhận dạng lời nói và các công cụ nhận dạng của bên thứ ba

  • Nền tảng này cung cấp các API nhận dạng giọng nói mới cho phép các ứng dụng tương tác phong phú hơn với trình nhận dạng giọng nói hiện có. Ví dụ: chỉ cần các API này là đủ để tích hợp sâu tính năng nhận dạng giọng nói vào một IME.
  • Nền tảng này cũng cung cấp một lớp cơ sở RecognitionService cho phép các nhà phát triển bên thứ ba tạo công cụ nhận dạng trình bổ trợ.
  • Giao diện RecognitionListener mới để nhận lệnh gọi lại.
  • Các tiện ích bổ sung RecognizerIntent mới cho phép ứng dụng của người yêu cầu chỉ định thông tin chi tiết dưới dạng ngôn ngữ ưu tiên, thời lượng tối thiểu tính bằng mili giây, v.v.

Máy ảnh và máy quay video

  • Các thay đổi đối với API xem trước của máy ảnh để cải thiện hiệu quả của quy trình xem trước.
  • Hướng hiển thị mới cho máy ảnh (hiện có thể hoạt động theo hướng dọc).
  • Các API mới trong android.hardware.Camera để quản lý mức thu phóng.
  • Các API mới android.hardware.Camera.Parameters để truy vấn và đặt các chế độ cài đặt cho máy ảnh của thiết bị như tiêu cự, độ phơi sáng, mức thu phóng, góc nhìn, v.v.
  • Tiện ích thumbnail mới dành cho hình thu nhỏ video và ảnh.
  • Các lớp CamcorderProfileCamcorderProfile mới cho phép ứng dụng xác định khả năng của máy ảnh phần cứng của thiết bị.
  • Hỗ trợ mới trong android.media.ExifInterface để truy xuất GPS và tiêu cự.

Trình quản lý chính sách thiết bị

API quản lý chính sách thiết bị mới cho phép nhà phát triển viết ứng dụng "quản trị viên thiết bị" có thể kiểm soát các tính năng bảo mật của thiết bị, chẳng hạn như độ mạnh tối thiểu của mật khẩu, xoá sạch dữ liệu, v.v. Người dùng có thể chọn những quản trị viên đã được bật trên thiết bị của họ. Để biết thêm thông tin, hãy xem các lớp android.app.admin hoặc mã ứng dụng mẫu trong DeviceadminSample.java.

Khung giao diện người dùng

  • Các chế độ giao diện người dùng mới "chế độ trên ô tô" và "chế độ ban đêm" và UiModeManager cho phép các ứng dụng điều chỉnh giao diện người dùng của ứng dụng cho các chế độ cụ thể của người dùng.
  • ScaleGestureDetector mới cho phép Khung hiển thị phát hiện và xử lý các cử chỉ biến đổi liên quan đến nhiều con trỏ (cảm ứng đa điểm) bằng cách sử dụng MotionEvents đã cung cấp.
  • Cải tiến cách báo cáo sự kiện cảm ứng đa điểm trong đối tượng MotionEvent.
  • Thuộc tính bố cục fill_parent được đổi tên thành match_parent. Điều này ảnh hưởng đến cả mã XML và Java (xem ViewGroup.LayoutParams). Lưu ý rằng nền tảng sẽ tiếp tục tuân thủ việc sử dụng fill_parent trong các ứng dụng cũ.
  • Các thuộc tính bố cục mới tabStripEnabled, tabStripRighttabStripLeft cho phép nhà phát triển tuỳ chỉnh thanh TabWidgets dưới cùng.
  • Hỗ trợ tốt hơn cho các hộp thoại được quản lý trong phần Hoạt động.

Tài khoản và đồng bộ hoá

  • Phương thức mới AddPeriodicSync() cho phép bạn lên lịch đồng bộ hoá định kỳ với một tài khoản, đơn vị quản lý và thành phần khác cụ thể ở tần suất cho trước.

Thuộc tính và phần tử tệp kê khai mới

  • Để chỉ định vị trí cài đặt ưu tiên của ứng dụng (xem phần Cài đặt ứng dụng trên phương tiện bộ nhớ ngoài ở trên):
    • Thuộc tính android:installLocation mới của phần tử <manifest>. Chỉ định vị trí cài đặt mặc định do ứng dụng xác định.
  • Để quản lý tính năng sao lưu dữ liệu người dùng (xem phần Trình quản lý sao lưu ở trên để biết thêm thông tin):
    • Thuộc tính android:backupAgent mới của phần tử <application>. Chỉ định tên thành phần của lớp con BackupAgent do ứng dụng cung cấp để xử lý các thao tác sao lưu/khôi phục (nếu có).
    • Thuộc tính android:restoreAnyVersion mới của phần tử <application>. Giá trị Boolean cho biết liệu ứng dụng đã sẵn sàng để cố gắng khôi phục bất kỳ tập dữ liệu nào đã sao lưu hay chưa, ngay cả khi bản sao lưu có vẻ là từ một phiên bản mới hơn của ứng dụng hiện được cài đặt trên thiết bị.
  • Để quản lý trình biên dịch JIT của nền tảng:
    • Thuộc tính android:vmSafeMode mới của phần tử <application>. Giá trị Boolean chỉ định xem có tắt tính năng tối ưu hoá trình biên dịch JIT khi chạy ứng dụng hay không.

Quyền

  • android.permission.BIND_DEVICE_ADMIN – Mọi broadcast receiver quản trị thiết bị đều phải yêu cầu quyền này để đảm bảo chỉ hệ thống mới có thể tương tác với thiết bị đó.
  • android.permission.KILL_BACKGROUND_PROCESSES – Cho phép ứng dụng gọi killBackgroundProcesses(String).
  • android.permission.BIND_WALLPAPER – Mọi WallpaperService đều phải yêu cầu quyền này để đảm bảo chỉ hệ thống mới có thể tương tác với ứng dụng đó.
  • android.permission.SET_TIME – Cho phép ứng dụng đặt giờ hệ thống.

Báo cáo về sự khác biệt về API

Để biết thông tin chi tiết về tất cả các thay đổi đối với API trong Android 2.2 (API cấp 8), hãy xem Báo cáo về sự khác biệt về API.