Nếu tôi tạo Thông báo, tôi có thể thêm ba Hành động. Mỗi hành động cũng có thể được gọi trên đồng hồ. Có thể thực hiện một số hành động này không khả dụng trên Android Wear Watch không?Tôi làm cách nào để chỉ định rằng một hành động Thông báo không được hiển thị trên Android Wear?
Trả lời
Bất cứ khi nào bạn sử dụng addAction()
trong NotificationCompat.WearableExtender
, bạn không thực sự mở rộng các hành động (mặc dù tên), nhưng thay vì tách chúng thành hai danh sách, một cho điện thoại, và một cho đeo được.
- Những hành động gia tăng đối với gốc
NotificationCompat.Builder
đang hiển thị trên thiết bị cầm tay. - Tác vụ được thêm trên WearableExtender được hiển thị trên thiết bị Android Wear.
Xem Specifying Wearable-only Actions:
Nếu bạn muốn những hành động có sẵn trên wearable là khác nhau từ những người trên thiết bị cầm tay, sau đó sử dụng
WearableExtender.addAction()
. Khi bạn thêm hành động bằng phương pháp này, thiết bị có thể đeo không hiển thị bất kỳ hành động khác được thêm vào vớiNotificationCompat.Builder.addAction()
. Đó là , chỉ các hành động được thêm vớiWearableExtender.addAction()
xuất hiện trên thiết bị đeo được và chúng không xuất hiện trên thiết bị cầm tay.
Do đó, để có hành động chỉ dành cho thiết bị cầm tay, hãy thêm chúng trước khi tạo bộ mở rộng. Và Để có hành động chỉ đeo, hãy thêm chúng trên bộ mở rộng. Nếu bạn sử dụng bộ mở rộng và bạn muốn có các hành động lặp lại trong cả hai thiết bị, bạn phải thêm chúng trong cả hai (mặc dù có thể có tùy chọn sao chép chúng?).
Ví dụ:
NotificationCompat.Builder notificationBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("The title")
.setContentText("This is the text")
.setContentIntent(pendingIntent);
// Handheld-only actions.
notificationBuilder.addAction(drawable1, "In Both", pendingIntent);
notificationBuilder.addAction(drawable2, "Only in phone", pendingIntent);
// Wearable-only actions.
NotificationCompat.WearableExtender wearableExtender = new NotificationCompat.WearableExtender();
wearableExtender.addAction(new NotificationCompat.Action.Builder(drawable2, "In Both", pendingIntent).build());
wearableExtender.addAction(new NotificationCompat.Action.Builder(drawable3, "Only in wearable", pendingIntent).build());
notificationBuilder.extend(wearableExtender);
// Build and show notification.
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(notificationId, notificationBuilder.build());
Cũng
- Nếu bạn tạo một
WearableExtender
nhưng không thêm bất kỳ hành động vào nó, sau đó các hành động từ các thông báo ban đầu được sử dụng. - "Mục đích nội dung" từ thiết bị cầm tay dường như luôn có trên đồng hồ, với văn bản "Mở trên điện thoại". Tôi đã không tìm thấy một cách để vô hiệu hóa điều này chỉ cho đồng hồ.
- 1. Thông báo cụ thể về Android Wear
- 2. Android Wear - sử dụng màu đồng nhất được chỉ định cho nền thông báo
- 3. Thông báo tự động Android không hiển thị
- 4. Android cách hiển thị thông báo trên màn hình
- 5. Tôi làm cách nào để hiển thị hộp thoại trên Hoạt động hiện tại trên Android?
- 6. Thông báo Android Không hiển thị trên API 26
- 7. Chỉ hiển thị thông báo nếu Hoạt động không hiển thị
- 8. Hiển thị thông báo C# chỉ
- 9. Tôi làm cách nào để được thông báo về thông báo biểu ngữ trong iOS?
- 10. Thông báo Không hiển thị
- 11. Thông báo Android- Hiển thị toàn bộ thông báo
- 12. Nhiều thông báo và chỉ hiển thị thông báo đầu tiên Android
- 13. GCM 3.0 - gcm không tự động hiển thị thông báo với thông số thông báo
- 14. Thông báo hiển thị Android từ BroadcastReceiver
- 15. Tôi làm cách nào để mở trình duyệt Android có thông số POST được chỉ định?
- 16. Làm cách nào để hiển thị thông báo trên màn hình trong vài giây?
- 17. Làm cách nào để hiển thị thông báo từ `thông báo django`?
- 18. Cách hiển thị Cửa sổ thông báo của Android Studio?
- 19. startForeground() không hiển thị Thông báo của tôi
- 20. Hiển thị Mang phong cách Android AlertDialog
- 21. Làm thế nào để hiển thị thông báo lỗi JSON?
- 22. Android Retrofit - onProgressUpdate để hiển thị thông báo tiến độ
- 23. Làm cách nào để không hiển thị thông báo trùng lặp của Google Chrome?
- 24. iOS 7 Không hiển thị chỉ báo hoạt động mạng
- 25. Làm cách nào để hiển thị lớp phủ chỉ báo tiến trình/HUD trên iPhone?
- 26. Tôi không muốn hiển thị thông báo lỗi từ ParsleyJS
- 27. Làm thế nào để hiển thị thông báo lỗi chỉ trong OnFailure của Ajax.BeginForm trong MVC3?
- 28. Làm cách nào tôi chỉ có thể áp dụng một hành động định dạng clang?
- 29. Làm thế nào để tạo một URL Khi một hành động thông báo được nhấn?
- 30. Có cách nào để hạn chế một trang web chỉ hiển thị trong Android không?
Vì vậy, bạn đã thử thêm một Trình mở rộng mà không có bất kỳ hành động nào? Không có hành động nào được đặt nếu tôi thêm bộ mở rộng trống không? Điều gì xảy ra với nội dung Intent Action là nó luôn xuất hiện trên đồng hồ? – Janusz
@Janusz Tôi chưa thử nghiệm điều này, nhưng sau này tôi sẽ thử nghiệm. – matiash
có cập nhật cái này không? cần hiển thị thông báo mà không có bất kỳ hành động nào trên mặc android – abhishek