Lối tắt ứng dụng

Bản phát hành Android 7.1.1 cho phép các nhà phát triển xác định các phím tắt dành riêng cho hành động trong ứng dụng của họ để có thể hiển thị trong trình khởi chạy. Các phím tắt ứng dụng này cho phép người dùng nhanh chóng bắt đầu các tác vụ phổ biến hoặc được đề xuất trong ứng dụng.

Mỗi phím tắt tham chiếu 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 phím tắt. Ví dụ về các hành động bạn có thể thể hiện dưới dạng phím tắt ứng dụng bao gồm:

  • Đ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 truyền thông
  • Đang 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 file sau cung cấp tính năng hỗ trợ (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à, ví dụ: Trình khởi chạy dự án mã nguồn mở Android phiên bản 3 hỗ trợ các phím 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

Thực hiện

AOSP Launcher3 đã hỗ trợ phím tắt rồi. Trong trường hợp đối tác có trình khởi chạy riêng thì trình khởi chạy đó cũng phải hỗ trợ các phím 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 khởi chạy sẽ hiển thị các phím tắt động và biểu hiện được liên kết với từng biểu tượng hoạt động của trình khởi chạy.
    Thứ tự sắp xếp phím tắt được xác định trong ShortcutManager Javadoc trong phần "Thứ tự hiển thị phím tắt". Ví dụ: trước tiên hãy hiển thị các phím tắt của tệp kê khai, sau đó là các phím tắt động. Các phím tắt được sắp xếp theo thứ tự tăng dần trong mỗi nhóm.
  • Người dùng có thể kéo từng phím tắt động/tệp kê khai và "ghim" nó vào màn hình chính.
  • Các phím tắt đã ghim phải được sao lưu và khôi phục. (Xem javadoc của ShortManager để biết chi tiết)
  • Thực hiện "Trả lời nội tuyến" trên Thông báo sẽ gọi nội bộ ShortManager.onApplicationActive.

Ngoài ra, một số ứng dụng Dịch vụ di động của Google (GMS) có phím tắt. Trình khởi chạy OEM sẽ hiển thị các phím tắt cho chúng và lý tưởng nhất là hỗ trợ " ghim " (hoặc tạo biểu tượng phím tắt).

Xem nguồn Launcher3 để biết chi tiết về cách tương tác với khung cho các hoạt động trên.

Thẩm định

Sử dụng các thử nghiệm Bộ kiểm tra khả năng tương thích Android (CTS) sau đây để đảm bảo phiên bản tính năng của bạn (ShortcutManager và LauncherApps) hoạt động như dự định:

cts/tests/tests/shortcutmanager/
cts/hostsidetests/shortcuts/

Và tìm các bài kiểm tra đơn vị để triển khai AOSP tại đây:

frameworks/base/services/tests/servicestests/

Mà bao gồm:

src/com/android/server/pm/ShortcutManagerTest*.java

Bạn cũng có thể sử dụng bài kiểm tra Trình xác minh CTS cho trình quản lý phím tắt:

cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/ShortcutThrottlingResetActivity.java