Establecer la repetición de días de la semana de alarma en Android

¿Alguien puede dar una buena lógica para programar la alarma de los días de la semana? He hecho alarma semanal usando

            alarmCalendar.set(Calendar.HOUR, AlarmHrsInInt);
            alarmCalendar.set(Calendar.MINUTE, AlarmMinsInInt);
            alarmCalendar.set(Calendar.SECOND, 0);
            alarmCalendar.set(Calendar.AM_PM, amorpm);

            Long alarmTime = alarmCalendar.getTimeInMillis();

Intent intent = new Intent(Alarm.this, AlarmReciever.class);
                intent.putExtra("keyValue", key);
                PendingIntent pi = PendingIntent.getBroadcast(Alarm.this, key, intent, PendingIntent.FLAG_UPDATE_CURRENT);
                am.setRepeating(AlarmManager.RTC_WAKEUP, alarmTime, 7*1440*60000 , pi); 

La alarma se activa a tiempo y después de 7 días se activa automáticamente en ese momento.

Pero mi requisito es que quiero elegir días en lugar de solo 7 días.

algo así como todos los lunes, martes, jueves a las 9:00 am - La alarma se activará automáticamente. ¿Cómo hago para hacer esto en setRepeating?

¿Puede alguien ayudarme con esto?

¡Gracias!

Respuestas a la pregunta(4)

Su respuesta a la pregunta