導航:首頁 > 網路連接 > android怎麼看網路連接狀態

android怎麼看網路連接狀態

發布時間:2023-06-16 04:25:41

如何判斷Android手機當前是否聯網

通知欄可以看見,每個手機顯示方式不同,有的在信號格有上下箭頭標志,就是數據傳輸.有上網它會動.還有就是下拉通知欄的快捷設置可以看有沒有開數據.最通用的辦法就是打開設置-無線和網路-數據連接..看看有沒有打開.每個手機不同,方法也不同.希望能幫到你.

② 安卓系統怎樣查看網路連接信息

那麼,先來看一下正在連接的網路信號,是否真的很弱。只要是檢測到的網路信號,都可以查看他的網路信息,你可以連接信號較強的網路。以原道 N 10 輯寫攻略。步驟如下: (1)在主屏幕上按下「設置(Menu)」鍵。 (2)輕按選擇「無線和網路」按鈕。進入可以設置或者查看網路。 (3)然後,輕按選擇「Wi-Fi 設置」按鈕。 (4)若開啟 Wi-Fi 無線網路,然後就會顯示檢測到的無線網路列表,輕按任何一個網路來查看網路信息。 (5)而後,你就可以查看無線網路信號的「安全性」、「信號強度」、「是否需要密碼」等。 正在連接中的網路信息:編者按: 小張的安卓平板設備,在公司檢測到多個可用 Wi-Fi 信號。有一次,因為自己的平板上網速度很慢,而其他同事並沒有這樣的反映。後來,他就查看了使用網路的信號強度,顯示是「弱」信號。原來其他同事在使用本房間的無線信號,小明的網路信號還是大廳信號。還有,一個信號在接入之前,首先要看他是否需要密碼,再看他的信號強度,再決定接入網路。

③ android 判斷是否有網路連接

我們在做訪問的時候都得進行判斷是否連網。判斷連網也比較簡單,就用到了兩個類。ConnectivityManager和NetworkInfo。

只要執行下面的代碼就可以了。

1
2
3
4
5

ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isWifiConn = networkInfo.isConnected();
networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isMobileConn = networkInfo.isConnected();

只要有一個連接就是有網,NetworkInfo就是網路的信息。還有一種更簡便的判斷是否連網的方法。

1
2

ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();

在一個就是監聽網路變化,就是設置一個廣播。

注冊廣播,監聽ConnectivityManager.CONNECTIVITY_ACTION這個action

1
2
3

IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION);
receiver = new NetworkReceiver();
context.registerReceiver(receiver, filter);

再實現一個廣播類就可以了。這樣網路一變化,就會受到廣播,然後執行對應操作了。

1
2
3
4
5
6
7

public class NetworkReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("TAG", "intent============>>>>" + intent.toString());

}
}

下面就是來說一下判斷手機網路的類型了,2G,3G,4G

關於網路類型,在得到networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);這個後,確定是手機網路後,通過networkInfo.getSubtype()會得到網路的類型,用networkInfo.getSubtypeName()會得到網路的名字。

我們通過這個networkInfo.getSubtype()得到的類型來判斷當前是什麼網路。

其實,Android的Api中已經定義了各種網路狀態,不是在ConnectivityManager裡面定義的,而是在TelephonyManager裡面的定義的。通過不同的api版本的修改,目前增加到了14個狀態值:

下面是通過自己查資料,和看別人查資料實驗得來的。整理如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86

--------------------Added in API level 1---------------------
public static final int NETWORK_TYPE_UNKNOWN
Network type is unknown
Constant Value: 0 (0x00000000)
(不知道網路類型)

public static final int NETWORK_TYPE_GPRS
Current network is GPRS
Constant Value: 1 (0x00000001)
(2.5G)移動和聯通

public static final int NETWORK_TYPE_EDGE
Current network is EDGE
Constant Value: 2 (0x00000002)
(2.75G)2.5G到3G的過渡 移動和聯通

public static final int NETWORK_TYPE_UMTS
Current network is UMTS
Constant Value: 3 (0x00000003)
(3G)聯通

-----------------Added in API level 4---------------------
public static final int NETWORK_TYPE_CDMA
Current network is CDMA: Either IS95A or IS95B
Constant Value: 4 (0x00000004)
(2G 電信)

public static final int NETWORK_TYPE_EVDO_0
Current network is EVDO revision 0
Constant Value: 5 (0x00000005)
( 3G )電信

public static final int NETWORK_TYPE_EVDO_A
Current network is EVDO revision A
Constant Value: 6 (0x00000006)
(3.5G) 屬於3G過渡

public static final int NETWORK_TYPE_1xRTT
Current network is 1xRTT
Constant Value: 7 (0x00000007)
( 2G )

---------------------Added in API level 5--------------------
public static final int NETWORK_TYPE_HSDPA
Current network is HSDPA
Constant Value: 8 (0x00000008)
(3.5G )

public static final int NETWORK_TYPE_HSUPA
Current network is HSUPA
Constant Value: 9 (0x00000009)
( 3.5G )

public static final int NETWORK_TYPE_HSPA
Current network is HSPA
Constant Value: 10 (0x0000000a)
( 3G )聯通

--------------------------Added in API level 8-------------------------
public static final int NETWORK_TYPE_IDEN
Current network is iDen
Constant Value: 11 (0x0000000b)
(2G )

--------------------------Added in API level 9-------------------------
public static final int NETWORK_TYPE_EVDO_B
Current network is EVDO revision B
Constant Value: 12 (0x0000000c)
3G-3.5G

--------------------------Added in API level 11------------------------
public static final int NETWORK_TYPE_LTE
Current network is LTE
Constant Value: 13 (0x0000000d)
(4G)

public static final int NETWORK_TYPE_EHRPD
Current network is eHRPD
Constant Value: 14 (0x0000000e)
3G(3G到4G的升級產物)

--------------------------Added in API level 13---------------------------
public static final int NETWORK_TYPE_HSPAP
Current network is HSPA+
Constant Value: 15 (0x0000000f)
( 3G )

④ Android中如何簡單檢測網路是否連接

許可權:

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>

代碼:

/*
*判斷網路連接是否已開
*true已打開false未打開
**/
publicstaticbooleanisConn(Contextcontext){
booleanbisConnFlag=false;
ConnectivityManagerconManager=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfonetwork=conManager.getActiveNetworkInfo();
if(network!=null){
bisConnFlag=conManager.getActiveNetworkInfo().isAvailable();
}
returnbisConnFlag;
}


/*沒有網路跳轉到網路設置頁面
*打開設置網路界面
**/
(finalContextcontext){
//提示對話框
AlertDialog.Builderbuilder=newAlertDialog.Builder(context);
builder.setTitle("網路設置提示").setMessage("網路連接不可用,是否進行設置?").setPositiveButton("設置",newDialogInterface.OnClickListener(){

@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
//TODOAuto-generatedmethodstub
Intentintent=null;
//判斷手機系統的版本即API大於10就是3.0或以上版本
if(Build.VERSION.SDK_INT>10){
intent=newIntent(Settings.ACTION_WIRELESS_SETTINGS);
}else{
intent=newIntent();
ComponentNamecomponent=newComponentName("com.android.settings","com.android.settings.WirelessSettings");
intent.setComponent(component);
intent.setAction("android.intent.action.VIEW");
}
context.startActivity(intent);
}
}).setNegativeButton("取消",newDialogInterface.OnClickListener(){

@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
//TODOAuto-generatedmethodstub
dialog.dismiss();
}
}).show();
}

⑤ Android系列之如何判斷網路鏈接狀態

獲取android系統的連接服務可判斷網路連接狀態,代碼如下

publicclassNetUtils{
(Contextcontext){
ConnectivityManager襪閉橘mConnectivityManager=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
態態NetworkInfo[]infos=cm.getAllNetworkInfo();
for(NetworkInfoinfo:infos){
if(info.isAvailable()&&info.isConnected()){
returntrue;
}
}
returnfalse;
}
}

NetworkInfo的isAvailable()和isConnected()有以下5種狀態:

在WLAN設置界面

1,顯示連接已保存,但標題欄沒有,即沒有實質連接上:isConnected()==false,isAvailable()=true


2,顯示連接已保存告團,標題欄也有已連接上的圖標:isConnected()==true,isAvailable()=true


3,選擇不保存後:isConnected()==false,isAvailable()=true


4,選擇連接,在正在獲取IP地址時:isConnected()==false,isAvailable()=false


5,連接上後:isConnected()==true,isAvailable()=true

閱讀全文

與android怎麼看網路連接狀態相關的資料

熱點內容
上級網路ip與路由器ip沖突 瀏覽:55
鏈接路由器沒有網路 瀏覽:355
手機電信網路特別快怎麼辦 瀏覽:698
沒有網路怎麼電腦與電腦共享文件 瀏覽:871
開啟藍牙網路共享耗流量嗎 瀏覽:768
網路卡要去哪裡去投訴 瀏覽:322
重慶榮昌網路營銷策劃哪家有名 瀏覽:111
網路小說主角重生做手機 瀏覽:162
大華股份網路安全 瀏覽:898
安裝時設置了公用網路 瀏覽:430
網路一直是光信號怎麼辦 瀏覽:425
安防網路系統可以賣多少錢 瀏覽:710
國際網路聊天軟體下載 瀏覽:886
信號非常好但是網路打牌怎麼了 瀏覽:267
無線能把自己網路調快嗎 瀏覽:424
寶山區手機端網路推廣外包報價 瀏覽:103
廣州翼嘉電腦網路科技有限公司 瀏覽:637
如何在網路平台上舉報廢品收購站 瀏覽:445
築牢全區網路安全防線 瀏覽:404
泰國中國移動網路現狀 瀏覽:896

友情鏈接