Không có cách nào tiêu chuẩn để đạt được điều này; Nhiều nhà sản xuất như Sony hay Samsung đã thực hiện nó trong tùy biến Android của riêng họ.
Ví dụ trong Samsung, bạn phải phát sóng một ý với hành động BADGE_COUNT_UPDATE, chúng ta hãy MainActivity
có lớp hoạt động chính của bạn và count
là số bạn muốn hiển thị trong biểu tượng ứng dụng của bạn, lưu ý rằng 0 sẽ ẩn huy hiệu:
Intent intent = new Intent("android.intent.action.BADGE_COUNT_UPDATE");
intent.putExtra("badge_count", count);
intent.putExtra("badge_count_package_name", context.getPackageName());
intent.putExtra("badge_count_class_name", MainActivity.class.getName());
context.sendBroadcast(intent);
thiết bị Sony sử dụng "com.sonyericsson.home.action.UPDATE_BADGE"
hành động với tính năng bổ sung tùy chỉnh của họ như @Marcus trả lời, vì vậy bạn cần phải thêm "com.sonyericsson.home.permission.BROADCAST_BADGE"
phép ứng dụng của bạn biểu hiện và:
Intent intent = new Intent("com.sonyericsson.home.action.UPDATE_BADGE");
intent.putExtra("com.sonyericsson.home.intent.extra.badge.ACTIVITY_NAME", MainActivity.class.getName());
intent.putExtra("com.sonyericsson.home.intent.extra.badge.SHOW_MESSAGE", true);
intent.putExtra("com.sonyericsson.home.intent.extra.badge.MESSAGE", String.valueOf(count));
intent.putExtra("com.sonyericsson.home.intent.extra.badge.PACKAGE_NAME", context.getPackageName());
context.sendBroadcast(intent);
Lưu ý: nó mong muốn truy vấn dữ liệu của ứng dụng của bạn (context.getPackageName()
, MainActivity.class.getName()
) thay vì mã hóa nó chỉ trong trường hợp bạn thực hiện một số phép tái cấu trúc trong tương lai.
Nguồn
2016-03-01 18:35:28
Chắc chắn đó không phải là một tiện ích, thay vì chỉ là một biểu tượng ứng dụng? –
Khi các câu hỏi khác không có câu trả lời, bạn không nên bắt đầu câu trả lời mới. –
@GabeSechan Nó không được liệt kê trong danh sách các vật dụng có sẵn như xa như tôi có thể nói. Có thể có tiện ích con không được liệt kê không? – epeleg