2013-05-30 4 views
0

내 앱의 경우 네트워크 연결의 가용성을 확인하는 앱이로드되는 항상 실행중인 서비스를 원합니다. 네트워크 연결을 사용할 수 없다는 것을 깨닫고로드 된 활동에 메시지를 보내어 해당 활동의 컨텐츠보기를 단순히 "네트워크 연결을 사용할 수 없음"상태로 바꿀 수 있습니다. 그런 다음 네트워크 연결이 다시 시작되면 콘텐츠보기를 다시 전환 할 수 있도록 활동에 다른 메시지가 수신되도록하십시오. 서비스에 대한 여러 게시물을 검토 한 결과이 문제를 해결하는 가장 좋은 방법을 찾고 싶습니다. 모든 자습서 또는 간단한 샘플 코드도 훌륭합니다!네트워크 연결을 확인하기 위해 안드로이드 앱 백그라운드에서 서비스를 실행 중

답변

3

Service을 사용하는 것이 가장 좋은 해결책은 아닙니다. BroadcastReceiver을 사용하는 것이 더 좋습니다. 프로그래밍 방식으로 추가하려면 here으로 표시하거나 here 같은 매니페스트에 추가하십시오.

+0

일부 게시물 및 자습서를 읽은 후에 브로드 캐스트 수신기를 이해하기 시작했습니다. 그러나 많은 사례에서는 매니페스트 내에 수신기를 등록하는 방법을 보여줍니다. 내가 틀렸다면 바로 잡아라. 그런 식으로하면 내 애플리케이션이 올바르지 않을 때에도 내 브로드 캐스트 리시버 내의 코드가 실행될 것인가? 전 애플 리케이션이 포 그라운드에서 실행될 때만 코드를 실행하여 네트워크 상태의 변화를 볼 수 있고, 연결되었거나 연결이 끊어 졌는지 판단 할 수 있으며 적절한 조치를 취할 수 있습니다. 누구든지이 작업을 수행하는 방법에 대해 제공 할 수있는 모든 예제가 있습니까? – Phil

+0

브로드 캐스트 리시버를 등록하는 대신 오류가있는 HTTP 요청에서 네트워크 문제를 확인하기로 결정했습니다. 어쨌든 도와 주셔서 감사합니다. 이 방법으로 받아 들여지는 마킹은 효과가 있었지만 필요한만큼 실제로 필요하지는 않습니다. – Phil

+0

그래, 내가 유스 케이스에 달려 있다고 생각해. 첫 번째 방법은 여전히 ​​잘 작동합니다. 'OnStart()'에'BroadcastReceiver'를 등록하고'onStop()'에서 다시 등록을 취소 할 수 있습니다. – SimonSays

관련 문제