2012-10-12 5 views
2

항상 실행되는 프로세스처럼 백그라운드에서 앱을 실행하고 싶습니다.내 앱을 백그라운드 프로세스로 실행하려면 어떻게해야합니까?

GPS에 대한 위치 업데이트를 2 분마다 (경도, 위도)에 업데이트하고 방법에 정보를 사용하고 싶기 때문에 필요합니다.

휴대 전화가 잠들었을 때 또는 앱의 UI에없는 앱이 필요하다면 앱이 항상 실행되어야합니다.

내가 어떤 답을 어쨌든, 덕분에 그것을 만들 수있는 방법이 있다는 것을 확신합니다 :)

+2

2 분마다 위치 업데이트를 계획하고 있다면 배터리가 2 시간 만에 소모 될 것입니다. –

+1

http://developer.android.com/reference/android/app/Service.html 안드로 말이 맞아. 2 분마다 좋은 생각이 아닙니다. 내가 그 이하에서 귀하의 응용 프로그램을 제거합니다. – Simon

+0

동의합니다. 사용자의 배터리를 소진하지 않으려면 더 긴 업데이트 간격을 선택해야합니다. 앱을 백그라운드에서 오래 살게하려면 서비스를 만들고 "안드로이드 장기 실행 서비스"와 같은 것을 검색하면 많은 토론을 찾을 수 있습니다. –

답변

3

이것은 내가 찾은 단지 최초의 구글 검색 결과였다 이 http://www.vogella.com/articles/AndroidServices/article.html

여기에 대답하다 service을 사용하십시오.이 자습서에 64 억 개의 다른 것이없는 경우 사용하십시오.

+3

나는 과장 사용의 과도한 반응에 대해 답을 줄이려고 유혹을 느낍니다. :) –

+1

하하하 ... 괜찮아, 가능한 Google 검색 결과의 수를 줄 이네. –

+1

그와 같은 과장은 세상에서 가장 나쁜 것이다. 우리는 이것에 대해 백만 번 경고했습니다. – Jay

1

우리는 이와 비슷한 것을 가지고 있지만, 여러 부분으로 구성되어 있습니다.

은 첫째로 당신은 당신의 코드를 실행할 것입니다 (그리고 매니페스트에 등록) 당신은 아마 또한 당신이 쓸 수 있도록 android.permission.RECEIVE_BOOT_COMPLETED을 요청하고 android.intent.action.BOOT_COMPLETED 작용에 의해 통지를 가져옵니다 BroadcastReceiver을 등록 할 것입니다 Service

로 그것의 onReceive 방법은 서비스를 개시한다.

우리의 경우에도 서비스가 실행되고 있는지 확인하기 위해 프론트 엔드 활동이 있지만, 여전히 필요한지 확인하기까지는 얼마되지 않았습니다.

우리의 서비스는 거의 비어 있고 onCreate 즉시 다음 Handler을 깨어 '틱'을 관리하고 할 일이있을 경우 Runnable을 발생시키는 사용자 정의 Handler를 호출하지만, 내 코드는 당신으로부터 발산 곳입니다. 우리의 경우에는 서비스가 '틱 (ticks)'(대개 매분) 될 때만 GPS 위치를 업데이트하려고하며 수행 할 작업이 있습니다. 일반적으로 하루에 클라이언트 당 2 ~ 12 건의 작업 만 수행하므로 배터리 사용에 어떤 영향을 미치는지 충고 할 수는 없습니다.

+0

+1 부츠 업 수신기. –

관련 문제