【发布时间】:2020-08-25 13:10:26
【问题描述】:
所以我有一个应用程序,我想每天早上 6 点(午夜)向我发送通知,我在尝试警报后正在与 WorkManager 合作。我目前有一个扩展 Worker 的类,如下所示:
public class NotificationWorker extends Worker {
Context context;
public NotificationWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
this.context = context;
}
@NonNull
@Override
public Result doWork() {
Intent resultIntent = new Intent(context, LoginActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent resultPendingIntent = PendingIntent.getActivity(context, 0, resultIntent, 0);
Notification.Builder notification = new Notification.Builder(context)
.setSmallIcon(R.mipmap.ic_launcher_round)
.setContentTitle("App Title")
.setContentText("Some Text...")
.setContentIntent(resultPendingIntent);
NotificationManager notificationManager = (NotificationManager) HomePage.getHomePage().getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1, notification.build());
return Result.success();
}
}
它是由我的 Activity 的 onCreate() 函数中的这个 sn-p 代码调用的
WorkRequest notificationRequest = new OneTimeWorkRequest.Builder(NotificationWorker.class).build();
WorkManager.getInstance(this).enqueue(notificationRequest);
doWork() 方法被调用,但没有显示通知。任何帮助将不胜感激。
- 此代码“应该”仅在加载 Activity 时显示通知,有什么想法可以让它每天重复吗? (最好也使用 WorkManager)
【问题讨论】:
标签: java android android-studio