1

Notification の多くのソース コードを検索して試しました。今、私はこのコードを使用して通知を送信しています:

アラームメイン

    System.out.println("Lancio sveglia");

Date dat  = new Date();//initializes to now
    Calendar cal_alarm = Calendar.getInstance();
    Calendar cal_now = Calendar.getInstance();
    cal_now.setTime(dat);
    cal_alarm.setTime(dat);
    cal_alarm.set(Calendar.HOUR_OF_DAY,18);//set the alarm time
    cal_alarm.set(Calendar.MINUTE, 00);
    cal_alarm.set(Calendar.SECOND,0);



  //Create a new PendingIntent and add it to the AlarmManager
    Intent intent2 = new Intent(this, AlarmReceiverActivity.class);

    PendingIntent pendingIntent = PendingIntent.getService(this,
        34567, intent2, PendingIntent.FLAG_CANCEL_CURRENT);



    AlarmManager am =
        (AlarmManager)getSystemService(Activity.ALARM_SERVICE);

    am.cancel(pendingIntent);
    am.set(AlarmManager.RTC_WAKEUP, cal_alarm.getTimeInMillis(), pendingIntent);

アラーム受信アクティビティ

@Override
public void onCreate() {
    //super.onCreate(savedInstanceState);

    System.out.println("Arrivo in AlarmReceiverActivity");

    Context context =  this.getApplicationContext();


    nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
          CharSequence from = "[text]";
          CharSequence message = "S[text]";
          PendingIntent contentIntent = PendingIntent.getActivity(this, 001,
            new Intent(), 0);
          Notification notif = new Notification(R.drawable.ic_launcher,
            "[text]", System.currentTimeMillis());
          notif.setLatestEventInfo(context, from, message, contentIntent);
          nm.notify(1, notif);

ただし、通知アラームは、一部のデバイスでは 30 分ごと、別のデバイスでは 1 時間ごとに繰り返されます。しかし、今はアラームの繰り返しを設定していません。

通知を一度送信するようにシステムをセットアップする方法。何か案は?どんな助けでも素晴らしいでしょう

4

0 に答える 0