【问题标题】:alarm manager - when set alarm show alarm icon in right taskbar警报管理器 - 设置警报时在右侧任务栏中显示警报图标
【发布时间】:2018-02-04 11:59:20
【问题描述】:

我有一个简单的应用程序,我可以在其中设置闹钟。闹钟工作正常。但是,当设置了警报时,右侧任务栏中没有警报图标让用户知道警报处于活动状态。我不知道该怎么做。

代码 sn-p

 alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
 intent = new Intent(context, AlarmReceiver.class);
 pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
 alarmManager.set(AlarmManager.RTC_WAKEUP, time, pendingIntent);

如何在右侧任务栏中显示警报图标以向用户显示警报处于活动状态。我将需要显示/隐藏此图标,具体取决于闹钟是否打开/关闭。

谢谢

编辑

我试过了,还是不行。

 AlarmManager.AlarmClockInfo ac= new 
 AlarmManager.AlarmClockInfo(System.currentTimeMillis(),
                            pendingIntent);

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
      alarmManager.setAlarmClock(ac , pendingIntent);
  } else {
 Intent alarmChanged = new
 Intent("android.intent.action.ALARM_CHANGED");
 context.sendBroadcast(alarmChanged);
 }

【问题讨论】:

    标签: java android


    【解决方案1】:

    您可以将AlarmManager.setAlarmClock (AlarmManager.AlarmClockInfo info, PendingIntent operation) 用于 Lolipop 及之后的版本。

    sendBroadcast(Intent intent); for pre Lolipop

     if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            AlarmManager.setAlarmClock(info, mPendingIntent)
        } else {
            setStatusBarIcon(true);
        }
    
        protected void setStatusBarIcon ( boolean enabled)
        {
            Intent alarmChanged = new
            Intent("android.intent.action.ALARM_CHANGED");
            alarmChanged.putExtra("alarmSet", enabled);
            sendBroadcast(alarmChanged);
        }
    

    另见this

    【讨论】:

    • 我不确定什么是信息?以及如何使用它
    • 什么是sendBroadcast?因为它无法解决
    • nvm 我使用了上下文及其解析。现在,我需要弄清楚如何正确使用信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多