API Android 2.2

Cấp độ API: 8

Android 2.2 là một bản phát hành nhỏ của 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, thay đổi về API và 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à các thay đổi về API, hãy xem phần Framework API (API khung).

Đối với 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.

Điểm nổi bật của 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à điểm nổi bật của nền tảng, hãy xem tài liệu Đ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 xem một ứ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.

Để sử dụng các API được giới thiệu trong Android 2.2 trong ứng dụng, bạn cần đặt giá trị thích hợp, "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 về 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 bộ nhớ ngoài của thiết bị (chẳng hạn như thẻ SD), thay vì cài đặt trên bộ nhớ trong của thiết bị.

Nhà phát triển ứng dụng có thể thể hiện vị trí cài đặt ưu tiên cho ứng dụng của họ bằng một 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 ngoài. Sau khi cài đặt tệp .apk của ứng dụng 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à chuyển tệp đó sang 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 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 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ì các ứng dụng này 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 nền tảng cũ 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 ngoài của thiết bị không phù hợp với tất cả ứng dụng, đặc biệt là vì phương tiện ngoài có thể tháo rời và việc tháo/lắp lại có thể làm gián đoạn trải nghiệm người dùng và các 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ị trí cài đặt ứng dụng.

Sao lưu dữ liệu

Nền tảng hiện cung cấp một 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 rằng 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ý sao lưu xử lý việc vận chuyển dữ liệu ứng dụng đến và đi từ vùng bộ nhớ 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 tệp, đồng thời quản lý các hoạt động sao lưu và khôi phục theo cách nguyên 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, điều khiển truyền tải, mất quyền phát âm thanh tạm thời, chế độ giảm âm lượng.
  • Ý định truyền tin mới để định tuyến âm thanh đến SCO — ACTION_SCO_AUDIO_STATE_CHANGED với các thông tin bổ sung cho biết trạng thái mới.
  • Các API mới trong SoundPool để phát hiện quá trình tải âm thanh đã hoàn tất.
  • 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ố lượng kênh, tốc độ mã hoá và lấy mẫu, tốc độ lấy mẫu.
  • Các API mới để thêm tệp vào cơ sở dữ liệu nội dung nghe nhìn để tự động quét các tệp đó. Hãy xem MediaScannerConnection.scanFileMediaScannerConnection.OnScanCompletedListener.

Công cụ nhận dạng lời nói và 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 lời 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ụ: các API này đủ để tích hợp sâu tính năng nhận dạng giọng nói vào 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 tính năng bổ sung RecognizerIntent mới cho phép ứng dụng yêu cầu chỉ định thông tin chi tiết như 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

  • Thay đổ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).
  • API mới trong android.hardware.Camera để quản lý mức thu phóng.
  • API mới android.hardware.Camera.Parameters để truy vấn và thiết lập các chế độ cài đặt máy ảnh của thiết bị, chẳng hạn như tiêu cự, độ phơi sáng, mức thu phóng, góc xem và các chế độ khác.
  • Tiện ích thumbnail mới cho hình thu nhỏ video và hình ảnh.
  • Các lớp CamcorderProfileCamcorderProfile mới cho phép ứng dụng xác định chức năng của máy ảnh phần cứng trên thiết bị.
  • Tính năng 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ị

Các API quản lý chính sách thiết bị mới cho phép nhà phát triển viết các ứ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á 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ế độ ô 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ế độ người dùng cụ thể.
  • 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ỏ (nhiều điểm chạm) bằng cách sử dụng MotionEvents được cung cấp.
  • Cải tiến cách báo cáo sự kiện cảm ứng đa điểm trong các đố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). Xin 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 dải dưới cùng của TabWidgets.
  • Hỗ trợ tốt hơn cho các hộp thoại được quản lý trong 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, cơ quan quản lý và các thông tin bổ sung cụ thể theo tần suất đã cho.

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

  • Cách 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.
  • Cách 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 ứng dụng đã sẵn sàng để thử khôi phục mọi tập dữ liệu đã sao lưu hay chưa, ngay cả khi bản sao lưu rõ ràng là của một phiên bản ứng dụng mới hơn phiên bản hiện được cài đặt trên thiết bị.
  • Cách 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 broadcast receiver đó.
  • 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 rằng chỉ hệ thống mới có thể tương tác với WallpaperService.
  • android.permission.SET_TIME – Cho phép ứng dụng đặt thời gian hệ thống.

Báo cáo về điểm khác biệt của API

Để xem chi tiết tất cả các thay đổi về API trong Android 2.2 (API cấp 8), hãy xem Báo cáo về điểm khác biệt về API.