Необходимо ли установить действие для тревоги? - PullRequest
0 голосов
/ 15 мая 2019

Я использую AlarmManager как этот код ниже (без метода setAcion () для alarmIntent)

    Intent alarmIntent = new Intent(context, AlarmReceiver.class);
    alarmIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), duty.getId(), alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);

    AlarmManager alarmManager = (AlarmManager) context.getApplicationContext().getSystemService(Context.ALARM_SERVICE);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
    } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
    } else {
        alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
    }

Я исследовал и вижу, что почти пример предпочитает добавить действие для намерения тревоги, как этот код ниже, но я все еще не знаю, действительно ли это необходимо или нет?

alarmIntent.setAction("com.example.myalarm.action");

//add intent-filer for receiver declatation
<receiver
      android:name="com.example.receivers.AlarmReceiver"
      android:enabled="true">
      <intent-filter>
         <action android:name="com.example.myalarm.action" />
      </intent-filter>
</receiver>
...