2017-11-28 9 views
0
내가 다시 시작하거나 강제 그만 둘은 모두를 사용하는 작업 매니페스트에서 때까지 잘 작동 application.It 알림 개발하고 있어요

: BOOT_COMPLETED안드로이드에서 강제 종료가 호출되었는지 여부를 어떻게 확인할 수 있습니까?

QUICKBOOT_POWERON을하고도 여전히 RECEIVE_BOOT_COMPLETED 권한을 추가를 내 방송 수신기가 작동하지 않습니다 . 이 문제를 해결하고 강제 종료가 프로그램을 통해 안드로이드에 불려지는지 확인하는 방법이 있습니까? 미리 감사드립니다.

답변

0

AlarmManager을 사용하여 확인 여부를 알람으로 설정할 수 있습니다.

여기에 AlarmManager를 설정하는 예가 나와 있습니다.

private AlarmManager alarmMgr; 
private PendingIntent alarmIntent; 
... 
alarmMgr = 
(AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
Intent intent = new Intent(context, AlarmReceiver.class); 
alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0); 

alarmMgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 
    SystemClock.elapsedRealtime() + 
    60 * 1000, alarmIntent); 

그리고 BroadcastReceiver에서 다시 알람을 설정해야합니다. 매시간 수신기를 확인할 수 있습니다.

앱이 강제로 중지 되더라도 alarmmanager가 앱을 검사 할 때 다시 시작할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 데이터베이스에 시간을 저장하는 중 알람을 다시 설정하려면 시간을 다시 가져 오거나 다시 저장해야합니까? – user7394959

+0

시간을 저장할 필요가 없습니다. 1 시간 후에 AlarmManager를 설정하면됩니다. 그리고 당신의 장치는 나머지를 처리 ​​할 것입니다. 1 시간 후에, 그것은 당신의 방송 수신자에게 전화 할 것이고, 당신은 1 시간 후에 다시 경보를 설정할 수 있습니다. 11시 또는 15시와 같이 시간을 설정하지 않아도됩니다. 시간대로 설정하면됩니다. – dcanbatman

+0

Btw, 강제로 멈추었는지 또는 배경에서 계속 작동하는지 확인하는 것입니다. 미리 알림 측면에서 앱은 동일합니다. – dcanbatman

관련 문제