相关疑难解决方法(0)

如何在Android中安排通知

我正试图在将来设置通知.我有创建通知的代码,但我找不到安排它的选项.

我该如何安排通知?

java notifications android android-notifications

31
推荐指数
2
解决办法
4万
查看次数

重启后的Android AlarmManager

我有一组警报,我需要在重启后保留.我尝试过使用启动接收器,但它们不会重新启动.我不确定我是否理解启动接收器以及如何重新启动所有警报.我已经有一个接收器用于我的通知,但不知道我是否可以使用相同的接收器或我是否需要一个新接收器?

谁能指点我任何好的教程或帮助我?

干杯

代码:

    DatabaseHandler db = new DatabaseHandler(this);  
    List<UAlarm> alarms = db.getAllAlarms();        
    AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);  
    for (UAlarm ua : alarms) {  
        String programme = ua.getTitle();  
        String startTime = ua.getStart();  
        String endTime = ua.getEnd();  
        String nowPlaying = ua.getChannel();  
        db.addAlarm(new UAlarm(programme, startTime, endTime, nowPlaying, ""));  
        final UAlarm ut = new UAlarm();  
        ut.setTitle(programme);  
        ut.setStart(startTime);  
        ut.setEnd(endTime);  
        ut.setChannel(nowPlaying);  
        ut.setId(db.getLastEntered());  
        String [] bla = startTime.split(":");  
        int hour = Integer.parseInt(bla[0].trim());  
        int minute = Integer.parseInt(bla[1].trim());  
        minute -= 2;  
        Calendar cal = Calendar.getInstance();  
        cal.set(Calendar.HOUR_OF_DAY, hour);  
        cal.set(Calendar.MINUTE, …
Run Code Online (Sandbox Code Playgroud)

android reboot restart alarms

27
推荐指数
1
解决办法
3万
查看次数

Android 8/9 通知调度

我曾尝试为特定日期和时间安排通知,但在大多数设备上似乎没有显示通知。在 android 9/8 之前,我使用了很容易使用的 AlarmManager,它可以工作,但最近 2 个版本的 android 已经改变了这一点......(感谢谷歌让一切变得更容易......)
所以,这是我的代码用于安排通知。我正在使用OneTimeWorkRequest

tag = new AlertsManager(this).getCarId(nrInmatriculare);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

    Data inputData = new Data.Builder().putString("type", alarmType).putString("nrInmatriculare", nrInmatriculare).build();

    OneTimeWorkRequest notificationWork = new OneTimeWorkRequest.Builder(NotifyWorker.class)
            .setInitialDelay(calculateDelay(when), TimeUnit.MILLISECONDS)
            .setInputData(inputData)
            .addTag(String.valueOf(tag))
            .build();
    WorkManager.getInstance().enqueue(notificationWork);
}
else {
    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, when, (24 * 60 * 60 * 1000), pendingIntent);
}
Run Code Online (Sandbox Code Playgroud)

然后我用来显示通知的类是这样的:

public class NotifyWorker extends Worker {

    public NotifyWorker(@NonNull Context context, @NonNull WorkerParameters params) {
        super(context, params);
    }

    @NonNull
    @Override
    public Worker.Result doWork() …
Run Code Online (Sandbox Code Playgroud)

android android-notifications android-8.0-oreo

7
推荐指数
2
解决办法
2796
查看次数