Kiểm thử cách ứng dụng xử lý các thay đổi về hành vi

Bản dùng thử Wear OS 5 cho nhà phát triển dựa trên Android 14 (API cấp 34), là phiên bản mới hơn so với phiên bản cơ sở của Wear OS 4 (Android 13 hoặc API cấp 33). Vì vậy, khi chuẩn bị ứng dụng Wear OS để sử dụng trên Bản dùng thử Wear OS 5 cho nhà phát triển, bạn cần xử lý các thay đổi về hành vi của hệ thống ảnh hưởng đến tất cả ứng dụng trong Android 14, cũng như các thay đổi đối với ứng dụng nhắm đến Android 14.

Các thay đổi đối với Wear OS 5 ảnh hưởng đến tất cả ứng dụng

Các thay đổi sau đây về hành vi ảnh hưởng đến các trường hợp sử dụng và thư viện dành riêng cho Wear OS. Những thay đổi này ảnh hưởng đến tất cả ứng dụng chạy trên Wear OS 5 bất kể phiên bản SDK mục tiêu.

Bảng tổng quan về quyền riêng tư

Bản dùng thử Wear OS 5 cho nhà phát triển bổ sung tính năng hỗ trợ cho trang tổng quan về quyền riêng tư, ban đầu được ra mắt trên thiết bị di động trong Android 12.

Bảng tổng quan về quyền riêng tư cung cấp cho người dùng một cái nhìn tập trung về mức sử dụng dữ liệu của từng ứng dụng, bao gồm các thông tin chi tiết sau:

  • Các loại dữ liệu được truy cập, chẳng hạn như vị trí và micrô.
  • Thời gian truy cập vào các loại dữ liệu đó gần đây.

Khi có quyền truy cập vào thông tin này, người dùng có thể đưa ra quyết định sáng suốt hơn về việc ứng dụng nào vẫn sẽ có quyền truy cập vào dữ liệu cá nhân của họ. Để duy trì lòng tin của người dùng, hãy sử dụng dữ liệu một cách có trách nhiệm và minh bạch khi thu thập và sử dụng dữ liệu người dùng.

Hầu hết các nguồn dữ liệu chức năng đều yêu cầu sử dụng Định dạng mặt đồng hồ

Trong các phiên bản Wear OS sắp tới, bao gồm cả Bản dùng thử Wear OS 5 cho nhà phát triển, mặt đồng hồ cần sử dụng Định dạng mặt đồng hồ để hỗ trợ các chức năng chứa dữ liệu người dùng. Bạn nên cập nhật mặt đồng hồ để sử dụng Định dạng mặt đồng hồ. Tìm hiểu thêm về những thay đổi này đối với các chức năng.

Tạm thời huỷ kích hoạt thay đổi cho mục đích thử nghiệm

Tính năng này được bật theo mặc định. Để tắt cờ tính năng tương ứng với thay đổi này cho mục đích kiểm thử, hãy sử dụng lệnh sau:

adb shell device_config put wear_services \
  com.google.wear.services.infra.flags.restrict_complications_flag false && \
  adb reboot

Các thay đổi đối với Wear OS 5 ảnh hưởng đến các ứng dụng nhắm đến Android 14

Các thay đổi sau chỉ ảnh hưởng đến ứng dụng của bạn nếu bạn cập nhật phiên bản SDK mục tiêu lên Android 14 (phiên bản mà Bản dùng thử Wear OS 5 cho nhà phát triển dựa trên).

Các ứng dụng luôn bật có thể chuyển sang chạy ở chế độ nền

Kể từ Bản dùng thử Wear OS 5 cho nhà phát triển, hệ thống sẽ chuyển các ứng dụng luôn bật sang chế độ nền sau khi các ứng dụng đó hiển thị ở chế độ môi trường xung quanh trong một khoảng thời gian nhất định. Người dùng có thể định cấu hình thời gian chờ trong phần cài đặt hệ thống.

Nếu ứng dụng luôn bật của bạn hiển thị thông tin về một nhiệm vụ đang diễn ra của người dùng (chẳng hạn như phát nhạc hoặc một phiên tập thể dục), thì bạn nên hiển thị hoạt động đang diễn ra cho đến khi nhiệm vụ đó kết thúc. Để thực hiện việc này, hãy sử dụng Ongoing Activity API để đăng thông báo hiển thị liên tục được liên kết với hoạt động luôn bật của bạn.

Để hệ thống nhận ra hoạt động đang diễn ra, ý định chạm của thông báo hiển thị liên tục phải trỏ đến hoạt động luôn bật của bạn, như minh hoạ trong đoạn mã sau:

// Create a pending intent that point to your always-on activity
val touchIntent =
    PendingIntent.getActivity(
        context,
        0,
        Intent(context, MyAlwaysOnActivity::class.java),
        PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
    )

val notificationBuilder =
    NotificationCompat.Builder(this, CHANNEL_ID)
    // ...
    .setOngoing(true)

val ongoingActivity =
    OngoingActivity.Builder(
        applicationContext, NOTIFICATION_ID, notificationBuilder
    )
    // ...
    .setTouchIntent(touchIntent)
    .build()

ongoingActivity.apply(applicationContext)

notificationManager.notify(
    NOTIFICATION_ID,
    notificationBuilder.build()
)

Tạm thời huỷ kích hoạt thay đổi cho mục đích thử nghiệm

Tính năng này được bật theo mặc định. Để tắt cờ tính năng tương ứng với thay đổi này cho mục đích kiểm thử, hãy sử dụng lệnh sau:

adb shell device_config put wear_frameworks \
  com.google.android.clockwork.systemui.flags.ambiactive_components_expirable \
  false && adb reboot

Ứng dụng ghi lại bài tập thể dục phải khai báo loại dịch vụ trên nền trước

Nếu ứng dụng ghi lại bài tập thể dục trong phiên tập thể dục của người dùng, thì bạn phải chỉ định loại dịch vụ trên nền trước health trong dịch vụ trên nền trước gọi ExerciseClient. Ngoài ra, nếu ứng dụng của bạn có thể theo dõi thông tin vị trí trong phiên tập thể dục, bạn cũng cần chỉ định loại dịch vụ trên nền trước location:

<manifest ...>
  <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <application ...>
      <!-- If your app can also monitor location information, use
           android:foregroundServiceType="health|location" instead. -->
      <service
          android:name=".MyExerciseSessionRecorder"
          android:foregroundServiceType="health">
      </service>
    </application>
</manifest>

Một số thiết bị không đeo trên đồng hồ giữ được trạng thái mở khoá lâu hơn

Trên các thiết bị được hỗ trợ chạy Bản dùng thử Wear OS 5 cho nhà phát triển, hệ thống sẽ phát hiện xem người dùng có đang đeo thiết bị trên cổ tay hay không. Nếu người dùng tắt tính năng phát hiện cổ tay rồi tháo thiết bị khỏi cổ tay, thì hệ thống sẽ giữ thiết bị luôn mở khoá trong thời gian dài hơn so với thường lệ.

Nếu ứng dụng của bạn yêu cầu mức độ bảo mật cao hơn (chẳng hạn như khi hiển thị dữ liệu có thể nhạy cảm hoặc dữ liệu riêng tư), trước tiên, hãy kiểm tra xem bạn đã bật tính năng phát hiện cổ tay hay chưa:

val wristDetectionEnabled =
        isWristDetectionAutoLockingEnabled(applicationContext)

Nếu giá trị trả về của phương thức này là false, hãy nhắc người dùng đăng nhập vào một tài khoản trong ứng dụng trước khi hiển thị nội dung dành riêng cho người dùng.

Nội dung kéo được có thể chồng chéo các điểm kích hoạt cử chỉ hệ thống

Kể từ Bản dùng thử Wear OS 5 cho nhà phát triển, hệ thống sẽ xử lý các cử chỉ sự kiện chuyển động tách biệt với thao tác bằng cử chỉ dùng trong giao diện người dùng của hệ thống.

Nếu giao diện người dùng của ứng dụng có các không gian lớn có thể kéo và chồng chéo lên khu vực cử chỉ của hệ thống, thì bạn có thể cần phải thêm hình chữ nhật loại trừ cử chỉ hệ thống cho các chế độ xem này. Để làm vậy, hãy gọi setSystemGestureExclusionRects() để hướng dẫn giao diện người dùng hệ thống bỏ qua các cử chỉ điều hướng trong các khu vực nhất định. Điều này tương tự như cách bạn xử lý các cử chỉ xung đột trong ứng dụng trong ứng dụng dành cho thiết bị di động để cung cấp trải nghiệm giao diện người dùng tràn viền.

Bạn có thể sử dụng API setSystemGestureExclusionRects() để giao diện người dùng hệ thống phản hồi theo các yêu cầu cử chỉ. Ví dụ: giao diện người dùng hệ thống có thể hiển thị các gợi ý giao diện người dùng bổ sung, chẳng hạn như thanh ngang, để xác nhận ý định của người dùng.

Điều chỉnh tỷ lệ phông chữ phi tuyến tính

Kể từ Bản dùng thử Wear OS 5 cho nhà phát triển, hệ thống sẽ hỗ trợ việc chuyển tỷ lệ phông chữ mượt mà hơn, đặc biệt là trong trường hợp người dùng chọn cỡ chữ lớn hơn trong các thành phần trên giao diện người dùng dựa trên khung hiển thị.

Các quy tắc hạn chế đối với ý định ngầm ẩn và ý định đang chờ xử lý

Nếu bạn sử dụng thẻ thông tin trong ứng dụng, hãy kiểm tra xem ý định của bạn có chịu ảnh hưởng của các hạn chế đối với ý định ngầm ẩn và ý định đang chờ xử lý hay không.

Một số thông báo vẫn không đóng được

Khi sử dụng phiên bản cầm tay của ứng dụng trên thiết bị chạy Android 14 (API cấp 34) trở lên, người dùng có thể đóng các thông báo không đóng được trên các phiên bản trước.

Tuy nhiên, trên Bản dùng thử Wear OS 5 cho nhà phát triển, bạn vẫn không đóng được những thông báo này.

Các thay đổi khác từ Android 14

Những thay đổi sau đây từ Android 14 có nhiều khả năng ảnh hưởng đến ứng dụng Wear OS nhất.

Những thay đổi của Android 14 ảnh hưởng đến tất cả ứng dụng

Các thay đổi về Android 14 ảnh hưởng đến ứng dụng nhắm đến API cấp 34