我有一个简单的应用程序,我正在设置闹钟。警报工作正常。但是,当设置警报时,右侧任务栏中没有警报图标让用户知道警报处于活动状态。我不知道该怎么做。
代码段
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);
}
答案 0 :(得分:1)
您可以将AlarmManager.setAlarmClock (AlarmManager.AlarmClockInfo info, PendingIntent operation)
用于Lolipop及之后。
和sendBroadcast(Intent intent);
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