Tenho um alarm que está sendo disparado no onCreate da activity ele ativa o broadcast e o broadcast ativa a notificação, porém só está funcionando na primeira vez, e não está fazendo a repetição da notificação.
código do MainActivity
public class MainActivity extends AppCompatActivity {
public static SQLiteDatabase banco_dados;
public static int id_notification;
public String id;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
Cursor cursor_hora = banco_dados.rawQuery("SELECT * FROM lista_notificacoes order by id DESC", null);
int indiceColunaHora = cursor_hora.getColumnIndex("hora_notificacao");
int indiceColunaiD = cursor_hora.getColumnIndex("id");
int tempo = 0;
Calendar c = Calendar.getInstance();
Intent intent = new Intent("ALARME_DISPARADO");
PendingIntent p = PendingIntent.getBroadcast(this, 0, intent, 0);
cursor_hora.moveToFirst();
while (cursor_hora != null) {
String teste = cursor_hora.getString(indiceColunaHora);
id = cursor_hora.getString(indiceColunaiD);
switch (teste){
case "5 em 5 minutos":
tempo = 2000;
break;
}
c.setTimeInMillis(System.currentTimeMillis());
AlarmManager alarme = (AlarmManager) getSystemService(ALARM_SERVICE);
alarme.setRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis()+tempo, 2000, p);
//intent.putExtra("id",id);
//sendBroadcast(intent);
cursor_hora.moveToNext();
}
}catch (Exception e){
e.printStackTrace();
}
}
código do broadcast
public class BroadcastReceiverAux extends BroadcastReceiver {
public String texto;
@Override
public void onReceive(Context context, Intent intent) {
try {
String id = intent.getStringExtra("id");
Cursor cursor_horario = banco_dados.rawQuery("SELECT texto_notificacao FROM lista_notificacoes where id=" + id, null);
cursor_horario.moveToFirst();
int indiceColunaTexto = cursor_horario.getColumnIndex("texto_notificacao");
texto = cursor_horario.getString(indiceColunaTexto);
gerar_notificacao(context,texto);
}catch (Exception e){
e.printStackTrace();
}
}