2013-11-26 1 views
0

내 응용 프로그램은 HttpURLConnection을 사용하여 네트워크에서 데이터를 다운로드하므로 INTERNET 권한이 필요합니다. 장치가 따라서 요청 된 권한에 ACCESS_NETWORK_STATE를 추가 (ConnectivityManagerNetworkInfo을 통해) 네트워크에 연결되어있는 경우 네트워크 작업을 수행하기 전에 네트워크 상태를 확인해야합니까?

은 또한 확인해야합니다, 또는 단순히 예외를 데이터를 다운로드하고 처리하기 위해 시도해야한다?

Google의 Connecting to the NetworkManaging Network Usage 가이드 모두 개발자가 네트워크 상태를 확인한 후 "사용자 환경 개선"을 시도 할 것을 권장하지만 자습서 읽기가 기억납니다.) 사용자를 멀리 두려워하지 말고 더 나은 "자기 통제"를 위해 정말로 피할 수없는 권한만을 요청했다.

그래서,

  • 이에 대한 가장 좋은 방법은 어떤 종류가 있습니까?
  • 권한을 요청하지 않고 예외를 처리하는 데 문제가 있습니까?
+0

제 생각에는 변경 될 때 무언가를 원하거나 상태에 따라 무언가를 변경하고 싶을 때만 추가 권한을 추가해야한다는 것입니다. 예를 들어, 네트워크가 존재하지 않을 때 기능을 사용하지 않으려는 경우 (시도 시점 알림이 아닌). 그렇지 않으면 그것은 당신이 말했듯이 사람들을 "겁주는"추가 허가 일뿐입니다. 그래도 제 생각에는 다른 사람들이 다를 수도 있습니다. – Geobits

답변

1

원격 서비스에 대한 호출을하기 전에 네트워크 가용성을 확인하는 경우에도 대화 중에 대소 문자 연결을 처리해야합니다. 결국 2G에 비해 수백 KB를 다운로드하는 데 몇 초가 걸리고 언제든지 연결을 해제 할 수 있습니다 (사용자는 비행 모드로 전환하여 사용자를 방해 할 수도 있음).

사용자에게 좋게 만들어주세요. 비범 한 방식으로 오류를 보여주십시오.