우리는 작업을 10
초마다 처리해야하는 앱이 있습니다. 이것은 다소 정확해야합니다. 즉, 1
또는 2
초의 차이는 OK
이지만, 20
초 이상의 간격은 아닙니다.Android : 10 초마다 작업 (정확히)
앱이 열려 있거나 전면 또는 배경에 관계없이 작동해야합니다.
AlarmManager
을 통해 구현하지만 제대로 작동하지 않습니다. 스마트 폰이 연결되어 있지 않고 백그라운드에서 실행중인 경우 실행에 간격이 있습니다. Android 4.3.
와
, 우리는 우리가 적은 격차를 Android 5.x
으로, 수시로 간격 (약 30 초)을 가지고 있지만, 5
또는 10
분 길이에 대한 차이!
이것을 구현하는 방법이 있어야한다고 생각합니다. 알람 시계도 가능하며 정확합니다.
앱에 대한 추가 정보 : 서비스에서 작동하며 브로드 캐스트 리시버가 구현되었습니다. 즉, 앱을 지우거나 다시 시작하면 서비스가 다시 시작됩니다. 이것은 올바르게 작동합니다. 유일한 문제는 10
두 번째 작업입니다.
힌트가 있습니까? 자명종은 어떻게 구현 되나요? 어떤 전화, API?
지금까지는 성공하지 못했지만 다른 방식으로 시도했습니다. "서비스"를 "수신기 방송"와와 "알람 관리기"의
감사 한스
나는 안드로이드 선호 생각하는 핸들러 실행 가능한 함께 할 수 있습니다. –
안녕하세요. 나는 AlarmManager로 시도한다. 이 작품은 내 Tast 10 초마다 호출됩니다. 그러나 잠시 후 5 ~ 10 분 동안 전화하지 않습니다! 앱이 몇 분 또는 몇 시간 동안 실행되고 매시간마다 발생합니다. 나는 이유를 모른다. – Hans
그것은 당신을 위해 일한 것을 듣고 좋다. 나는 당신의 현재 문제를 이해합니다. 이것은 대개 coz 서비스가 자원 부족이나 기타 이유로 중지되었을 수 있습니다. 따라서 매번 실행되도록하려면 다른 브로드 캐스트 수신기에도 등록해야합니다. 예를 들어 wake_up 권한을받은 후 Wake_up에 등록해야합니다. 사용자가 전화를 사용할 때마다 브로드 캐스트 리시버가 호출되며 원하는 서비스가 실행 중인지 여부를 확인할 수 있습니다. 시작하지 않으면 서비스를 시작하십시오. sharedprefs를 사용하여 토스트라는 마지막 시간 서비스 값을 저장할 수도 있습니다. –