나는 다른 BroadcastReceiver 즉 인터넷 연결의 onReceive에서 AlarmManager의 onReceive 메서드를 호출해야하는 하나의 안드로이드 응용 프로그램을 개발 중입니다. 가능한가? 아니면 다른 모든 BroadcastReceiver에서 내 모든 것을 복제해야합니까?안드로이드에서 다른 BroadcastReceiver의 onReceive에서 onReceive를 호출하는 방법은 무엇입니까?
0
A
답변
1
당신은 다른 방송 수신기를 OnReceive (..) 인터넷 연결 방송 수신기의 방법, 당신은 알람 및 경보 관리자가 트리거 얻을 방법을 먹으 렴을 설정할 수 있습니다에서
@Override
public void onReceive(Context context, Intent intent) {
Intent newIntent = new Intent("com.domain.yourboardcastreceiver");
context.sendBroadcast(newIntent);
}
0
을 트리거 onReceive에서 새로운 의도를 만들 수 있습니다, 예 :
@Override
public void onReceive(Context context, Intent intent) {
Intent myIntent = new Intent(getBaseContext(), **AlarmReceiver**.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 0, myIntent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}
manifest 파일에 alarmmanager의 수신기를 등록하는 것을 잊지 마십시오.
희망이 있습니다.
+0
고맙습니다.하지만 @Rex Lam의 솔루션을 사용했습니다. –
감사합니다. 도움이되었습니다. –