4
AlarmManager를 사용하여 특정 시점에 BroadcastReceiver를 호출하는 액티비티가 있습니다. 이것은 BroadcastReceiver를 호출 할 때 인 텐트에 여분의 문자열을 추가하려고 시도 할 때를 제외하고는 모두 정상적으로 작동하지만 항상 다른 쪽 끝에서 null로 나타납니다.Android에서 Activity에서 BroadcastReceiver로 데이터를 전달하면 null이 표시됩니다.
활동 코드 : 내가 무슨 잘못을하고있는 중이 야
public void onReceive(Context context, Intent intent) {
Log.v(TAG, "TestString: " + intent.getStringExtra("testString"));
}
'TestString에'의 내용은 항상 브로드 캐스트 리시버에서
null
입니다
,
Intent intent = new Intent(this, ScheduleReceiver.class);
intent.putExtra("testString", "I'm a string");
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 999, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC, System.currentTimeMillis(), pendingIntent);
브로드 캐스트 리시버 코드?
내가 그것을이의 조합 나는 PendingItent에'PendingIntent.FLAG_CANCEL_CURRENT' 플래그를 추가 한 사실이었다 생각합니다. – jackbot