Android 애플리케이션에서는 방송 수신기를 사용하여 시스템 변경이나 특정 이벤트를 모니터링합니다. 이러한 일반적인 사용 사례 중 하나는 인터넷 연결을 확인하는 것입니다. 그러나 특정 시나리오에서는 수신기의 호출을 네트워크 연결이 가능한 인스턴스로 제한하는 것이 바람직할 수 있습니다.
일반적으로 직면하는 문제는 수신기가 네트워크를 사용할 수 없는 경우에도 두 번 호출됩니다. 이는 수신자의 매니페스트 선언에 여러 인텐트 필터가 추가되었기 때문일 수 있습니다. 이 문제를 해결하려면 네트워크 연결 변경에 대해 다음과 같은 하나의 작업만 사용하면 충분합니다.
<intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter>
두 번째 문제를 해결하려면 수신자가 해야 할 작업 네트워크 연결이 가능할 때만 트리거되며, 제공된 코드는 이 요구 사항을 효과적으로 충족합니다. Wi-Fi와 모바일 네트워크 가용성을 모두 모니터링하고 둘 중 하나가 연결된 경우에만 알립니다.
인터넷 연결을 확인하는 더 간단한 접근 방식을 위해 다음 기능을 고려하십시오.
public boolean isOnline(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); //should check for null as it will be null in airplane mode return (netInfo != null && netInfo.isConnected()); }
이 방법을 사용하면 모바일 기기가 네트워크에 연결되어 있는지 간단하게 확인할 수 있습니다.
위 내용은 브로드캐스트 수신기를 사용하여 내 Android 앱에서 인터넷 연결 변경 사항을 안정적으로 감지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!