问答详情
源自:3-1 带进度的通知

for循环,下载进度一直有声音啊,怎么解决?

for (int i = 0; i < 100; i++) {
                    try {
                        Thread.sleep(1000);//1秒后更新一下
                        builder.setDefaults(Notification.FLAG_ONLY_ALERT_ONCE);
                        //设置进度,max最大进度值,progress当前进度,indeterminate不确定的
                        builder.setProgress(100,i,false);
                        getManager().notify(2,builder.build());
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }


提问者:慕粉168168888 2019-05-17 23:53

个回答

  • Ruffe
    2019-07-04 16:15:39

    Notification.Builder builder = new Notification.Builder(this)
            .setAutoCancel(true)
            .setChannelId("test_channel_id")
            .setContentTitle("新消息来了")
            .setContentText("明天是周末,不用上班?你怕是在做梦!")
            .setOnlyAlertOnce(true)
            .setSmallIcon(R.mipmap.ic_launcher);
    
    manager.notify(1, builder.build());
    
    new Thread(new Runnable() {
        @Override
        public void run() {
            for (int i = 0; i < 100; i++) {
                try {
                    Thread.sleep(1000);
                    builder.setProgress(100, i, false);
    
                    manager.notify(1, builder.build());
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
    
            }
        }
    }).start();
    
    设置builder.setDefaults(Notification.FLAG_ONLY_ALERT_ONCE);这个是没有效果的