2012-07-14 4 views
0

xml에 정의 된 확인란 환경 설정에 따라 부팅 할 때 조건부로 시작할 서비스가있는 응용 프로그램이 있습니다. 내 브로드 캐스팅 수신기 클래스는 다음과 같습니다.BroadcastReceiver는 응용 프로그램을 시작하지 않고 부팅시 서비스를 조건부로 시작합니다.

서비스는 체크 박스가 선택되어 있지 않으면 시작해야합니다. 기본 상태가 선택됩니다.

정상적으로 작동하면 모두 정상적으로 작동합니다. 확인란을 선택하면 서비스가 시작되지 않고 선택하지 않으면 부팅 할 때 서비스가 시작됩니다.

응용 프로그램이 설치되었지만 실행되지 않는 경우 문제가 발생합니다 ...이 경우 확인란이 선택되어 있어도 다음 부팅시 서비스가 시작됩니다. 수신자가 읽을 수있는 파일에 기본 환경 설정을 쓰려고 생각했지만 그게 가장 좋은 해결책이라고 생각하지 않습니다 ...

답변

2

이 경우 확인란이 선택되어 있어도 다음 부팅시 서비스가 시작됩니다. 더 선호도가 없을 것입니다 그것은이 이렇게 안

를 확인하고, 사용자가 지정한대로 그래서 당신의 getBoolean()false를 반환해야합니다.

  1. <receiver> 요소 매니페스트에 android:enabled="false"을 추가했다되고 그건

    는 더 나은 솔루션이있다.

  2. 가 환경 설정에서 체크 박스를 전환

    는 사용하거나 사용 확인란이 선택되어있을 때이 활성화되도록의 BroadcastReceiver을 사용하지 PackageManagersetComponentEnabledSetting()를 사용합니다.

이렇게하면 사용자가이 체크 박스를 선택하지 않으면 안드로이드가 재부팅시 프로세스를 포기할 필요가 없습니다.

+0

그렇게 쉬워야합니다. 제게 초심자들은 항상 힘들고 복잡한 방법을 택합니다. 고마워, 나는 곧바로 노력할 것이다. – BlooregardQKazoo

+0

귀하의 제안은 정말 잘 돌아갔습니다. 감사합니다! – BlooregardQKazoo

관련 문제