1
싶습니다. 에서 인 텐트의 일부 인수를 BroadcastReceiver 클래스의 onReceive() 메소드에서 가져옵니다. 하지만 int ALARM_COUNT = 1인데, 필자는 Parcelable Alarm 객체와 test int (알람 객체에 문제가있는 경우)라는 두 개의 arg를 두었습니다. 내 AlarmBroadcaseReceiver 클래스의BroadcastReceiver의 onReceive에서 인 텐트 엑스트라가 비어 있습니다.
private PendingIntent createPendingIntent(@NonNull Alarm alarm) {
Intent intent = new Intent(mContext, AlarmBroadcastReceiver.class);
intent.putExtra(KEY_ALARM, alarm);
intent.putExtra("TEST", 1010120012);
return PendingIntent.getBroadcast(mContext, alarm.getId(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
그리고 onReceive() 메소드 :
@Override
public void onReceive(Context context, Intent intent) {
Alarm receivedAlarm = intent.getParcelableExtra(KEY_ALARM); //is always null
int receivedInt = intent.getIntExtra("TEST", -1); //the same empty, -1
}
으로 내가 PendingIntent 변수를 생성하는 방법을
private void setCurrentAlarm(Alarm alarm) {
long time = System.currentTimeMillis() + getClosestTimeDifference(alarm);
mAlarmManager.set(AlarmManager.RTC_WAKEUP, time, createPendingIntent(alarm));
}
이 있습니다 :
는이 같은 알람을 설정 인 텐트에는 일부 ALARM_COUNT 개의 추가 항목 만 포함되어 있지만 내 추가 기능은 없습니다.
어떻게해야합니까? 어떻게 얻을 수 있습니까?
안녕 데니스, 난이 링크 https://stackoverflow.com/a/42181785/7542998 추천 onReceive 당신이 당신의 방법 "TEST"의 값을 갖게됩니다, 그것은 모든 정보가 alarmManager를 사용하는 방법을 이해해야합니다. – Diekrul