桌面图标显示未读个数

public class BadgeUtil {

    public static void applyBadgeCount(Context context, int badgeCount) {
        if (Build.MANUFACTURER.equalsIgnoreCase("Xiaomi")) {
            // 判断机型是否是小米
context.startService(new Intent(context, BadgeIntentService.class).putExtra("badgeCount", badgeCount));
} else {
            ShortcutBadger.applyCount(context, badgeCount);
}
    }

    public static void removeBadgeCount(Context context) {
        ShortcutBadger.removeCount(context);
}


}


public class BadgeIntentService extends IntentService {

    private int notificationId = 0;

    public BadgeIntentService() {
        super("BadgeIntentService");
}

    private NotificationManager mNotificationManager;

@Override
public void onStart(Intent intent, int startId) {
        super.onStart(intent, startId);
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
}

    @Override
protected void onHandleIntent(Intent intent) {
        if (intent != null) {
            int badgeCount = intent.getIntExtra("badgeCount", 0);

mNotificationManager.cancel(notificationId);
notificationId++;

Notification.Builder builder = new Notification.Builder(getApplicationContext())
                    .setContentTitle("")
                    .setContentText("")
                    .setSmallIcon(R.mipmap.ic_launcher);
Notification notification = builder.build();
ShortcutBadger.applyNotification(getApplicationContext(), notification, badgeCount);
mNotificationManager.notify(notificationId, notification);
}
    }
}


public class MainActivity extends AppCompatActivity {

    @Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BadgeUtil.applyBadgeCount(MainActivity.this,3);
}
    @Override
protected void onDestroy() {
        super.onDestroy();
BadgeUtil.removeBadgeCount(MainActivity.this);
}
}

猜你喜欢

转载自274137570-qq-com.iteye.com/blog/2379737