Android에서 네트워크 연결 변경 감지: 네트워크 리스너
Android에서 네트워크 연결 모니터링은 원활한 사용자 경험을 보장하는 데 중요합니다. 이 문서에서는 네트워크 연결 이벤트를 캡처하는 데 사용할 수 있는 방법을 살펴봅니다.
네트워크 연결 모니터링
Android 플랫폼은 네트워크 상태를 모니터링하기 위한 여러 API를 제공합니다. 가장 일반적인 접근 방식은 ConnectivityManager를 사용하는 것입니다. 이 관리자는 유형, 상태, 신호 강도를 포함하여 현재 네트워크 연결에 대한 정보에 대한 액세스를 제공합니다.
네트워크 연결 브로드캐스트
Android는 또한 네트워크가 연결될 때 이벤트를 브로드캐스트합니다. 연결 변경. CONNECTIVITY_CHANGE 브로드캐스트 인텐트는 네트워크 연결 상태가 변경되면 전송됩니다. 이러한 방송을 수신하고 이에 따라 응답할 방송 수신기를 등록할 수 있습니다.
네트워크 수신기 구현
네트워크 수신기를 구현하려면 BroadcastReceiver의 하위 클래스를 만들고 onReceive 메소드. onReceive 메서드에서 ConnectivityManager 인스턴스를 검색하고 네트워크 연결 상태를 확인합니다. 구현 예는 다음과 같습니다.
<code class="java">public class ConnectionChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo(); NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); if (activeNetInfo != null) { Toast.makeText(context, "Active Network Type : " + activeNetInfo.getTypeName(), Toast.LENGTH_SHORT).show(); } if (mobNetInfo != null) { Toast.makeText(context, "Mobile Network Type : " + mobNetInfo.getTypeName(), Toast.LENGTH_SHORT).show(); } } }</code>
네트워크 리스너 선언
AndroidManifest.xml에 네트워크 리스너를 등록하려면 다음 코드를 추가하세요.
<code class="xml"><receiver android:name="com.blackboard.androidtest.receiver.ConnectionChangeReceiver" android:label="NetworkConnection"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> </intent-filter> </receiver></code>
필수 권한 추가
마지막으로, 네트워크 연결 정보에 액세스하려면 AndroidManifest.xml에서 ACCESS_NETWORK_STATE 권한을 선언했는지 확인하세요.
<code class="xml"><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/></code>
네트워크 리스너를 구현하면 Android의 네트워크 연결 변경 사항에 대한 정보를 지속적으로 얻을 수 있으므로 네트워크 이벤트를 적절하게 처리하고 애플리케이션의 안정성을 향상시킬 수 있습니다.
위 내용은 Android에서 연결 변경을 감지하기 위해 네트워크 수신기를 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!