Android動態(tài)注冊監(jiān)聽網(wǎng)絡(luò)變化實(shí)例詳解

Android 動態(tài)注冊監(jiān)聽網(wǎng)絡(luò)變化實(shí)例詳解

為天峻等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及天峻網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站制作、天峻網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

新建一個BroadcastTest項(xiàng)目,然后修改MainActivity中的代碼,如下:

public class MainActivity extends AppCompatActivity {
  private IntentFilter intentFilter;
  private NetworkChangeReceiver networkChangeReceiver;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    intentFilter=new IntentFilter();
    intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");  //廣播接收器想要監(jiān)聽什么廣播,就在這里添加相應(yīng)的action
    networkChangeReceiver=new NetworkChangeReceiver();
    registerReceiver(networkChangeReceiver,intentFilter);       //調(diào)用resigerReceiver()方法進(jìn)行注冊
  }

  @Override
  protected void onDestroy(){
    super.onDestroy();
    unregisterReceiver(networkChangeReceiver);
  }

  class NetworkChangeReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent){
//     Toast.makeText(context,"network changes",Toast.LENGTH_SHORT).show();
      ConnectivityManager connectionManager=(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  //得到系統(tǒng)服務(wù)類
      NetworkInfo networkInfo=connectionManager.getActiveNetworkInfo();
      if(networkInfo!=null&&networkInfo.isAvailable()){
        Toast.makeText(context,"network is available",Toast.LENGTH_SHORT).show();
      }else{
        Toast.makeText(context,"network is unavailable",Toast.LENGTH_SHORT).show();
      }
    }
  }
}

動態(tài)注冊的廣播接收器一定要取消注冊才行,在onDestroy()方法中通過調(diào)用unregisterReceiver()方法來實(shí)現(xiàn)。

訪問系統(tǒng)的網(wǎng)絡(luò)狀態(tài)需要聲明權(quán)限,打開AndroidManifest.xml文件,在里面加入權(quán)限,如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.administrator.broadcasttest">

  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
  <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
  </application>

</manifest>

運(yùn)行程序,打開數(shù)據(jù)連接、關(guān)閉數(shù)據(jù)連接,效果如下:

Android 動態(tài)注冊監(jiān)聽網(wǎng)絡(luò)變化實(shí)例詳解Android 動態(tài)注冊監(jiān)聽網(wǎng)絡(luò)變化實(shí)例詳解

以上就是Android 動態(tài)注冊監(jiān)聽網(wǎng)路變化的實(shí)例詳解,如果大家有疑問可以留言或者到本站社區(qū)交流,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

網(wǎng)站欄目:Android動態(tài)注冊監(jiān)聽網(wǎng)絡(luò)變化實(shí)例詳解
文章URL:http://muchs.cn/article30/ijospo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站App開發(fā)、定制網(wǎng)站、ChatGPT全網(wǎng)營銷推廣、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站