2010-01-24 7 views

답변

47

당신은 이것을 할 수 없습니다 - 단지 그것이 설치 되었기 때문에 서비스를 자동으로 시작할 방법이 없습니다.

응용 프로그램은 먼저 사용자가 어떤 종류의 작업을 통해 호출해야합니다. 또는 매니페스트를 통해 관련 방송 인 Intent에 연결해야하기 때문에 이러한 이벤트 중 하나가 발생하면 제어권을 얻고 이러한 방식으로 서비스를 시작할 수 있습니다. 또는 사용자에게 재부팅을 요청해야하므로 BOOT_COMPLETEDIntent 필터가 제어를받을 수 있습니다.

+0

감사합니다.이 경우가 의심 스럽습니다. OS가 일반적으로 얼마나 잘 생각되었는지를 감안할 때 약간의 감독처럼 보입니다. –

+0

나는 그것이 안전하다는 것을 이해한다. 핵심 안드로이드 팀이 과거에 여러 번이 요청에 대해 언급했기 때문에 그것은 분명히 감독이 아닙니다. – CommonsWare

+4

예, 의도적입니다. 앱을 다운로드 할 때 백그라운드에서 애플리케이션 설치가 자동으로 이루어집니다. 앱이 처음으로 앱에 명시 적으로 액세스 할 때까지는 앱 코드가 실행되지 않는 것이 좋습니다. (제발, 제발 장치를 재부 팅하라는 메시지를 보내지 마세요. 그럴 필요는 없습니다. 앱을 실행시키고 처음 실행했을 때 초기화 할 수있게하십시오.) – hackbod

9

안드로이드 애널리틱스 SDK가 설치 직후 인 텐트를 보내는 데 사용되는 구멍이 있었지만, 닫혀있어 (많은 혼란을 야기 함) 구멍이있었습니다.

그러나 최종 대답은, 내가 믿는, 여기에 있습니다 :

http://developer.android.com/about/versions/android-3.1.html#launchcontrols이 3.1로, 구글은 사용자가 명시 적으로 활성화 될 때까지 응용 프로그램이 정지 상태에있는 결정을, 그 제안 보인다

그들, 예. 앱을 실행하거나 위젯을 배치합니다.

이것은 일반적인 방송을 듣는 전략 (즉, 앱을 은밀하게 시작하는 전략)도 작동하지 않음을 의미합니다.

관련 문제