네트워크 연결 및 연결 해제를 알리고 내 응용 프로그램을 인터넷에 연결할 수 있는지 확인하려면 ConnectionManager.CONNECTIVITY_ACTION
수신기를 등록하십시오.문제 이해 CONNECTIVITY_ACTION 추가 정보
if (intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false)) {
// no connection!
} else {
NetworkInfo activeNetInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if (activeNetInfo != null && activeNetInfo.isConnectedOrConnecting()) {
// active connection!
} else {
// no connection!
}
}
그러나, 내 응용 프로그램은 때때로 휴대 전화의 연결 상태를 잘못보고 할 수 있기 때문에 나는이 잘못하고 있다고 생각 : 전화가 너무 같은 활성 네트워크 연결이있는 경우 현재, 나는 확인한다. EXTRA_NETWORK_INFO
에 대한 설명서를 읽으면이 추가로 반환 된 값이 null이면 연결이 없음을 나타냅니다. "... 연결 관리자가 다른 네트워크에 연결하려고 시도하고 있거나 이미 연결 한 경우 새 네트워크의 NetworkInfo는 추가로 전달됩니다. "(http://developer.android.com/reference/android/net/ConnectivityManager.html#CONNECTIVITY_ACTION). 내 응용 프로그램의 misreports 연결이의 CONNECTIVITY_ACTION
방송을 수신하기 직전, getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo()
isConnectedOrConnecting()
체크 진정한 반환하는 NetworkInfo
객체를 반환 경우에 그러나
. 따라서 전화가 연결되어 있지만 CONNECTIVITY_BROADCAST
을 통해 반품 된 NetworkInfo
은 null입니다.
내 CONNECTIVITY_ACTION
수신 코드에서 내가 뭘 잘못하고 있니? EXTRA_NETWORK_INFO)
의 값을 확인하지 않아야합니까? EXTRA_NO_CONNECTIVITY
에 의지 할 수 있습니까?
도움을 주시면 감사하겠습니다.
'EXTRA_NETWORK_INFO'은 (는) getActiveNetworkInfo() 또는 getAllNetworkInfo()를 사용합니다. http://developer.android.com/reference/android/net/ConnectivityManager.html#EXTRA_NETWORK_INFO –