日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

4.1.3.9 监听网络状态,3G,WIFI,

發(fā)布時(shí)間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 4.1.3.9 监听网络状态,3G,WIFI, 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
注意了:android.net.conn.CONNECTIVITY_CHANGE 是用來監(jiān)聽網(wǎng)絡(luò)變化的就是ConnectivityManager.CONNECTIVITY_ACTION


監(jiān)聽網(wǎng)絡(luò)的狀態(tài):
1: 第一步就是注冊(cè)權(quán)限,這個(gè)權(quán)限是,ACCESS_NETWORK_STATE,ACCESS_WIFI_STATE,INTERNET
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.INTERNET"/>

2: 然后創(chuàng)建一個(gè)BroadcastReceiver,里面有一個(gè)onReceiver();

3: 在這個(gè)onReceiver里面來判斷是否是這個(gè)ConnectivityManager.CONNECTIVITY_ACTION
如果是的話,就獲取當(dāng)前活動(dòng)的連接,但是首先要獲取當(dāng)前的
ConnectivityManager cm = context.getSystemService(Service.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActivtNetWork();
int type = networkInfo.getType();
int state = networkInfo.getState();
switch(types){
case ConnectivityManager.TYPE_WIFI:
if(state = networkInfo.State.CONNECTED)
break;
....

}

package tech.androidstudio.connectionbroadcastreceiverdemo;import android.annotation.TargetApi; import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; import android.net.Network; import android.net.NetworkInfo; import android.os.Build; import android.util.Log;/** * Created by Kodulf on 2016/2/29. */ public class ConnectionBroadcastReceiver extends BroadcastReceiver {@Override public void onReceive(Context context, Intent intent) {Log.d("NetworkReceiver", "收到廣播消息" +intent );String action = intent.getAction();if(ConnectivityManager.CONNECTIVITY_ACTION.equals(action)){ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Service.CONNECTIVITY_SERVICE);NetworkInfo activeNetwork = cm.getActiveNetworkInfo();if(activeNetwork!=null){int subtype = activeNetwork.getSubtype();NetworkInfo.State state = activeNetwork.getState();int type = activeNetwork.getType();switch (type){case ConnectivityManager.TYPE_WIFI:if(state==NetworkInfo.State.CONNECTED){Log.d("Kodulf","WIFI Connected++++++++++++++++");}else{Log.d("Kodulf","WIFI DisConnected+++++++++++++++++++");}break;case ConnectivityManager.TYPE_MOBILE:if(state==NetworkInfo.State.CONNECTED){Log.d("Kodulf","Mobile Connected+++++++++++++++++++");}else{Log.d("Kodulf","Mobile DisConnected+++++++++++++++++++");}break;case ConnectivityManager.TYPE_BLUETOOTH:if(state==NetworkInfo.State.CONNECTED){Log.d("Kodulf","BLUETOOTH Connected+++++++++++++++++++");}else{Log.d("Kodulf","BLUETOOTH DisConnected+++++++++++++++++++");}break;}}}} }


4:然后在清單文件中添加recevier,這個(gè)有一個(gè)優(yōu)先級(jí)為1000

<receiver android:name=".ConnectionBroadcastReceiver"><intent-filter android:priority="1000"><action android:name="android.net.conn.CONNECTIVITY_CHANGE"/></intent-filter> </receiver>





總結(jié)

以上是生活随笔為你收集整理的4.1.3.9 监听网络状态,3G,WIFI,的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。