通知(notification)の時間指定について
androidでNotificationを使って日時指定の時間で通知を起動するようにしたいのですが、
今はボタンを押した瞬間に通知が出るようになっています。
指定した日時に通知を出すにはどうすればいいのでしょうか
setWhenでLong型をミリ秒で設定するわけではないのでしょうか?
JAVA
1public class MainActivity extends AppCompatActivity implements Button.OnClickListener { 2 private Button btn; 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_notification); 7 8 btn = findViewById(R.id.button9); 9 btn.setOnClickListener(this); 10 } 11 @Override 12 public void onClick(View v) { 13 if(v.getId()==R.id.button7){ 14 final String CHANNEL_ID = "sample_notification_channel"; 15 final int ID = 0; 16 NotificationCompat.Builder mBuilder; 17 18 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { 19 NotificationChannel channel = new NotificationChannel(CHANNEL_ID,"This is notificationChannel1",NotificationManager.IMPORTANCE_HIGH); 20 channel.setLockscreenVisibility(Notification.VISIBILITY_PUBLIC); 21 channel.enableVibration(true); 22 23 NotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); 24 manager.createNotificationChannel(channel); 25 26 mBuilder = new NotificationCompat.Builder(this, CHANNEL_ID); 27 }else{ 28 mBuilder = new NotificationCompat.Builder(this); 29 } 30 Calendar cal1 = Calendar.getInstance(); 31 cal1.add(Calendar.MINUTE,1); 32 long milibyou = cal1.getTimeInMillis(); 33 mBuilder.setSmallIcon(android.R.drawable.ic_dialog_info) 34 .setContentTitle("タイトルです") 35 .setContentText("メッセージです") 36 .setColor(Color.rgb(0,255,0)) 37 .setWhen(milibyou) 38 .setVibrate(new long[]{0, 1000, 100, 100, 50, 100}); 39 NotificationManagerCompat manager = NotificationManagerCompat.from(this); 40 manager.notify(ID, mBuilder.build()); 41 } 42 } 43}
追記:2020/04/17 アプリ側の通知設定はonになっています。permission等は済です
現在テストしているエミュレーターのversionはandroid 9です。
/14:53 すいませんsetWhenのリファレンスをしっかり確認したところ、表示だけの意味を持つだけでした…。
/今はalartManagerでできるという記事をみたので、対応しています。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。