Problemas ao enviar o pacote com PendingIntent para um receptor de transmissão, dados perdidos
Estou adicionando alguma funcionalidade básica de alarme ao meu programa usando o AlarmManager e uma classe BroadcastReceiver (denominada AReceiver.java). Meu problema é que os dados que adiciono ao pacote anexado ao Intent que cria o PendingIntent parecem estar perdidos. Os únicos dados do pacote configurável que posso acessar na classe AReceiver são android.intent.extra.ALARM_COUNT = 1.
Aqui está o código básico na classe de atividade principal que cria o Intent, PendingIntent e o AlarmManager: [Código na atividade principal - Notepadv3]
Intent intent = new Intent(Notepadv3.this, AReceiver.class);
intent.putExtra("teststring","hello, passed string in Extra");
PendingIntent alarmIntent = PendingIntent.getBroadcast(this, pendingPeriodIntentId, intent, 0);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, timeOfNextPeriod.getTimeInMillis(), alarmIntent);
[Código no BroadcastReceiver - AReceiver]
public void onReceive(Context con, Intent arg1) {
Bundle extrasBundle = arg1.getExtras();
Log.d("broadcast","contains teststring = " + extrasBundle.containsKey("teststring"));
Log.d("broadcast","is empty? = " + extrasBundle.isEmpty());
Log.d("broadcast","to string = " + extrasBundle.toString());
}
As mensagens de depuração dizem que contém teststring é FALSE, está vazio é FALSE e, ao gerar o pacote inteiro, recebo o valor android.intent.extra.ALARM_COUNT = 1.
Qualquer ajuda seria muito apreciada.
Saúde, Tom