문제

문제가 있습니다. 나는 Android와 Java를 처음 접했으며 전화기를 끄고 사용자가 선택한 시간에 디스플레이를 어둡게하는 프로그램을 만들고 있습니다. 모든 것은 사용자 입력 값 (시간 및 분)을 가져 와서 이러한 값을 기반으로 알람을 설정하여 광대역을 시작하는 브로드 케이프 리버에게 의도를 발사하여 사운드를 끄고 디스플레이를 어둡게하는 서비스를 시작합니다. 재부팅 후 그 알람이 다시 시작되기를 원합니다. 나는 boot_completed 의도를 수신 한 다른 Broadcastreceiver를 단순히 설정 한 다음 서비스를 시작하기 전에 사용 된 Broadcastreceiver에 의도를 발사하는 알람을 설정할 수 있다고 생각했습니다. 그리고 내 문제는 Boot_Completed 의도에 의해 시작된 BoradCastreceiver에 사용자 입력을 얻는 활동에서 값을 넣는 방법을 모르겠다는 것입니다. 아니면 재부팅 후 사용자 입력을 기반으로 동일한 경보를 설정하는 또 다른 방법이 있습니까? 단순히 단어에서는 사용자가 설정 한 알람과 동일한 화재 시간으로 재부팅 후 알람을 자동으로 설정하려고합니다. 내 하찮은 영어 실력에 죄송하다는 말씀을 드리고 싶습니다...

도움이 되었습니까?

해결책

귀하의 접근 방식이 정확합니다.

추가해야 할 유일한 것은 DB 또는 다른 곳에서 지속되는 것입니다. 사용자가 물건을 설정하고 상호 작용할 때마다 AlarmManager, 파일에도 넣으십시오.

당신이 얻을 때 BOOT_COMPLETED, 데이터를로드하고 이전에 모든 경보를 설정합니다.

다른 팁

응용 프로그램의 매니페스트에서 :

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

그런 다음 브로드 캐스트를 구현하여 방송을받습니다.

public class SampleBootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
            // Set the alarm here.
        }
    }
}

재부팅 후 알람을 설정하려면 공유 환경 설정 또는 DB에서 알람 값을 선택할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top