【问题标题】:How to stop android notification from repeating itself如何阻止android通知重复自身
【发布时间】:2019-03-09 15:09:59
【问题描述】:

我正在尝试在电池电量低于 5% 时推送通知,但我只想要一次。使用下面的代码,除非电池电量耗尽,否则它会不断重复。

else if((level<=5)&(level>0)){
                batteryState.setImageResource(R.drawable.ic_batterylow);
                Notification notificationobject=new NotificationCompat.Builder(MainActivity.this,Notifications.CHANNEL_1_ID)
                        .setSmallIcon(R.drawable.ic_stat_name)
                        .setContentTitle("Battery Warning")
                        .setContentText("Your battery is low, please plugin the charger.")
                        .setPriority(NotificationCompat.PRIORITY_DEFAULT)
                        .setCategory(NotificationCompat.CATEGORY_MESSAGE)
                        .build();
                mNotificationManagerCompatObject.notify(1,notificationobject);
            }

【问题讨论】:

  • 非常聪明,因为看起来您正在使用 ImageView (batteryState.setImageResource),您可以使用视图的 setTag / getTag 属性来保留标志或任何对象帮助您跟踪状态。

标签: android notifications battery batterymanager


【解决方案1】:

你可以使用一个变量来检查你是否已经调用了这个方法:

boolean isCalled = false;

else if((level<=5)&(level>0)){
//if you did not called your method once
if(isCalled == false){
            //make sure that this will only get called once
            isCalled = true;
            batteryState.setImageResource(R.drawable.ic_batterylow);
            Notification notificationobject=new NotificationCompat.Builder(MainActivity.this,Notifications.CHANNEL_1_ID)
                    .setSmallIcon(R.drawable.ic_stat_name)
                    .setContentTitle("Battery Warning")
                    .setContentText("Your battery is low, please plugin the charger.")
                    .setPriority(NotificationCompat.PRIORITY_DEFAULT)
                    .setCategory(NotificationCompat.CATEGORY_MESSAGE)
                    .build();
            mNotificationManagerCompatObject.notify(1,notificationobject);
           }
        }

【讨论】:

  • 还在重复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 2019-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多