Bản phát hành Android 7.1.1 cho phép nhà phát triển xác định các lối tắt dành riêng cho hành động trong ứng dụng của họ. Các lối tắt này có thể hiển thị trong trình chạy. Những lối tắt ứng dụng này cho phép người dùng nhanh chóng bắt đầu các thao tác phổ biến hoặc thao tác đề xuất trong ứng dụng.
Mỗi lối tắt tham chiếu đến một ý định khởi chạy một hành động cụ thể trong ứng dụng khi người dùng chọn lối tắt đó. Sau đây là ví dụ về các thao tác mà bạn có thể thể hiện dưới dạng lối tắt ứng dụng:
- Điều hướng người dùng đến một vị trí cụ thể trong ứng dụng bản đồ
- Gửi tin nhắn cho bạn bè trong ứng dụng liên lạc
- Phát tập tiếp theo của chương trình truyền hình trong ứng dụng đa phương tiện
- Tải điểm lưu cuối cùng trong ứng dụng trò chơi
Ví dụ và nguồn
Bạn có thể tìm thấy cách triển khai chính của tính năng này trong các tệp sau:
frameworks/base/services/core/java/com/android/server/policy/ShortcutManager.java frameworks/base/services/core/java/com/android/server/pm/ShortcutPackage.java frameworks/base/services/core/java/com/android/server/pm/ShortcutUser.java frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageInfo.java frameworks/base/services/core/java/com/android/server/pm/ShortcutLauncher.java frameworks/base/services/core/java/com/android/server/pm/ShortcutParser.java frameworks/base/services/core/java/com/android/server/pm/ShortcutService.java frameworks/base/services/core/java/com/android/server/pm/LauncherAppsService.java frameworks/base/services/core/java/com/android/server/pm/ShortcutPackageItem.java frameworks/base/core/java/com/android/server/backup/ShortcutBackupHelper.java frameworks/base/core/java/android/content/pm/ShortcutManager.java frameworks/base/core/java/android/content/pm/ShortcutServiceInternal.java frameworks/base/core/java/android/content/pm/ShortcutInfo.java frameworks/base/core/java/android/content/pm/LauncherApps.java
Với các tệp sau đây cung cấp các tính năng hỗ trợ (được gọi là API ẩn trong ShortcutManager.java
):
packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/RemoteInputView.java
Ví dụ: Trình chạy Dự án nguồn mở Android phiên bản 3 hỗ trợ các lối tắt:
packages/apps/Launcher3/
Cuối cùng, hãy xem các tệp sau đây để biết Javadoc công khai.
frameworks/base/core/java/android/content/pm/ShortcutManager.java frameworks/base/core/java/android/content/pm/ShortcutInfo.java frameworks/base/core/java/android/content/pm/LauncherApps.java
Triển khai
Trình chạy AOSP3 đã hỗ trợ lối tắt. Trong trường hợp đối tác có trình chạy riêng, trình chạy đó cũng phải hỗ trợ lối tắt.
- Khi người dùng thực hiện một cử chỉ nhất định (ví dụ: nhấn và giữ) trên biểu tượng ứng dụng, trình chạy sẽ hiển thị các lối tắt động và tệp kê khai liên kết với từng biểu tượng hoạt động của trình chạy.
Thứ tự sắp xếp lối tắt được xác định trong Javadoc của ShorctutManager trong phần "Thứ tự hiển thị lối tắt". Ví dụ: trước tiên, hãy hiển thị lối tắt tệp kê khai, sau đó là lối tắt động. Các lối tắt được sắp xếp theo thứ hạng theo thứ tự tăng dần trong mỗi nhóm. - Người dùng phải có thể kéo từng lối tắt động/tệp kê khai và "ghim" lối tắt đó vào màn hình chính.
- Bạn nên sao lưu và khôi phục các lối tắt được ghim. (Xem javadoc của ShortcutManager để biết thông tin chi tiết)
- Thao tác "Trả lời cùng dòng" trên Thông báo sẽ gọi nội bộ ShortcutManager.onApplicationActive.
Ngoài ra, một số ứng dụng Dịch vụ Google dành cho thiết bị di động (GMS) có lối tắt. Trình chạy OEM phải hiển thị lối tắt cho các ứng dụng đó và tốt nhất là hỗ trợ cả tính năng "ghim" (hoặc tạo biểu tượng lối tắt).
Hãy xem nguồn Launcher3 để biết thông tin chi tiết về cách tương tác với khung cho các thao tác trên.
Xác nhận kết quả
Sử dụng các bài kiểm thử sau đây trong Bộ kiểm thử tính tương thích với Android (CTS) để đảm bảo phiên bản tính năng (ShortcutManager và LauncherApps) hoạt động như dự kiến:
cts/tests/tests/shortcutmanager/ cts/hostsidetests/shortcuts/
Bạn có thể tìm thấy các bài kiểm thử đơn vị để triển khai AOSP tại đây:
frameworks/base/services/tests/servicestests/
Bao gồm:
src/com/android/server/pm/ShortcutManagerTest*.java
Bạn cũng có thể sử dụng quy trình kiểm thử Trình xác minh CTS cho trình quản lý lối tắt:
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java