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"
và "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ạ
- Các API OpenGL ES 2.0 mới trong
android.opengl.GLES20
. - Các lớp
ETC1
,ETC1Util
vàETC1Util.ETC1Texture
mới cũng như các phương thức tiện ích để sử dụng ETC1 cho việc nén kết cấu. - Lớp
ImageFormat
mới. YUV image format API
mới để bật tính năng nén từ YUV sang JPEG và thao tác với dữ liệu YUV.
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.scanFile
vàMediaScannerConnection.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
CamcorderProfile
vàCamcorderProfile
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ànhmatch_parent
. Điều này ảnh hưởng đến cả mã XML và Java (xemViewGroup.LayoutParams
). Xin lưu ý rằng nền tảng sẽ tiếp tục tuân thủ việc sử dụngfill_parent
trong các ứng dụng cũ. - Các thuộc tính bố cục mới
tabStripEnabled
,tabStripRight
vàtabStripLeft
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.
- Thuộc tí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ị.
- Thuộc tính
- 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.
- Thuộc tính
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ọikillBackgroundProcesses(String)
.android.permission.BIND_WALLPAPER
– MọiWallpaperService
đề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ớiWallpaperService
.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.