>Java >java지도 시간 >Android에서 네트워크 연결 변경을 감지하는 방법은 무엇입니까?

Android에서 네트워크 연결 변경을 감지하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-25 01:40:30974검색

How to Detect Network Connectivity Changes in Android?

Android에서 네트워크 리스너 구현

질문:

Android 기기에서 네트워크 연결 변경 사항을 모니터링하고 이벤트를 캡처할 수 있습니까? 네트워크가 오프라인 상태가 되면?

답변:

예, Android에서 네트워크 연결 변경 사항을 수신할 수 있습니다. 자세한 구현은 다음과 같습니다.

1. 방송 수신기 만들기:

<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);
    // Check for active network and mobile network changes
    ...
  }
  ...
}</code>

2. 허가 선언:

<code class="xml"><!-- Required to monitor network connectivity changes -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /></code>

3. 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>

설명:

브로드캐스트 수신기는 시스템에서 "CONNECTIVITY_CHANGE" 브로드캐스트를 수신하도록 자신을 등록합니다. 네트워크 상태가 변경되면 onReceive() 메소드가 트리거되고, 수신자는 현재 네트워크 상태를 확인하고 그에 따라 응답할 수 있습니다.

위 내용은 Android에서 네트워크 연결 변경을 감지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.