導航:首頁 > 網路連接 > android判斷網路是否連接

android判斷網路是否連接

發布時間:2022-05-23 05:31:21

A. android 能判斷當前網路是否連接,連接的是 wifi 還是 3g/4g

// 獲取代表聯網狀態的NetWorkInfo對象 NetworkInfo networkInfo = connManager.getActiveNetworkInfo();
// 獲取當前的網路連接是否可用 if (null == networkInfo){Toast.makeText(this, "當前的網路連接不可用", Toast.LENGTH_SHORT).show();
//當網路不可用時,跳轉到網路設置頁面 startActivityForResult(new Intent(
android.provider.Settings.ACTION_WIRELESS_SETTINGS), 1);} else {boolean available = networkInfo.isAvailable();
if (available){Log.i("通知", "當前的網路連接可用");
Toast.makeText(this, "當前的網路連接可用", Toast.LENGTH_SHORT).show();} else {Log.i("通知", "當前的網路連接不可用");
Toast.makeText(this, "當前的網路連接不可用", Toast.LENGTH_SHORT).show();}}State state = connManager.getNetworkInfo(
ConnectivityManager.TYPE_MOBILE).getState();
if (State.CONNECTED == state){Log.i("通知", "GPRS網路已連接");
Toast.makeText(this, "GPRS網路已連接", Toast.LENGTH_SHORT).show();}state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
.getState();
if (State.CONNECTED == state){Log.i("通知", "WIFI網路已連接");
Toast.makeText(this, "WIFI網路已連接", Toast.LENGTH_SHORT).show();}//// 跳轉到無線網路設置界面
// startActivity(new
// Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
//// 跳轉到無限wifi網路設置界面
// startActivity(new
// Intent(android.provider.Settings.ACTION_WIFI_SETTINGS)); }也可以:
privatevoid testConnectivityManager(){ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//mobile 3G Network State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
Log.d(mobile.toString());
//wifi Network State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
Log.d(wifi.toString());
//如果3G網路和wifi網路都未連接,且不是處於正在連接狀態 則進入Network Setting界面 由用戶配置網路連接if(mobile==State.CONNECTED||mobile==State.CONNECTING)return;if(wifi==State.CONNECTED||wifi==State.CONNECTING)return;startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));//進入無線網路配置界面
//startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //進入手機中的wifi網路設置界面 }

B. android 如何判斷網路是否能夠上網

實現步驟:
下面解決辦法來自於android學習手冊,android學習手冊包含9個章節,108個例子,源碼文檔隨便看,例子都是可交互,可運行,源碼採用android studio目錄結構,高亮顯示代碼,文檔都採用文檔結構圖顯示,可以快速定位。360手機助手中下載。排到第三個。
1、獲取ConnectivityManager對象
Context context = activity.getApplicationContext();
// 獲取手機所有連接管理對象(包括對wi-fi,net等連接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

2、獲取NetworkInfo對象
// 獲取NetworkInfo對象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();

3、判斷當前網路狀態是否為連接狀態
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}

4、在AndroidManifest.xml中添加訪問當前網路狀態許可權
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

代碼如下:

public class ClassTestDemoActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (isNetworkAvailable(ClassTestDemoActivity.this))
{
Toast.makeText(getApplicationContext(), "當前有可用網路!", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(getApplicationContext(), "當前沒有可用網路!", Toast.LENGTH_LONG).show();
}
}

/**
* 檢查當前網路是否可用
*
* @param context
* @return
*/

public boolean isNetworkAvailable(Activity activity)
{
Context context = activity.getApplicationContext();
// 獲取手機所有連接管理對象(包括對wi-fi,net等連接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

if (connectivityManager == null)
{
return false;
}
else
{
// 獲取NetworkInfo對象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();

if (networkInfo != null && networkInfo.length > 0)
{
for (int i = 0; i < networkInfo.length; i++)
{
System.out.println(i + "===狀態===" + networkInfo[i].getState());
System.out.println(i + "===類型===" + networkInfo[i].getTypeName());
// 判斷當前網路狀態是否為連接狀態
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
}
}
return false;
}
}

C. Android判斷網路是否連接,跳轉到設置頁面以及判斷連接的是什麼網路

/**
* 檢測網路是否連接
* @return
*/
private boolean checkNetworkState() {
boolean flag = false;
//得到網路連接信息
manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//去進行判斷網路是否連接
if (manager.getActiveNetworkInfo() != null) {
flag = manager.getActiveNetworkInfo().isAvailable();
}
if (!flag) {
setNetwork();
} else {
isNetworkAvailable();
}
return flag;
}

/**
* 網路未連接時,調用設置方法
*/
private void setNetwork(){
Toast.makeText(this, "wifi is closed!", Toast.LENGTH_SHORT).show();

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("網路提示信息");
builder.setMessage("網路不可用,如果繼續,請先設置網路!");
builder.setPositiveButton("設置", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = null;
/**
* 判斷手機系統的版本!如果API大於10 就是3.0+
* 因為3.0以上的版本的設置和3.0以下的設置不一樣,調用的方法不同
*/
if (android.os.Build.VERSION.SDK_INT > 10) {
intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
} else {
intent = new Intent();
ComponentName component = new ComponentName(
"com.android.settings",
"com.android.settings.WirelessSettings");
intent.setComponent(component);
intent.setAction("android.intent.action.VIEW");
}
startActivity(intent);
}
});
builder.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.create();
builder.show();
}

/**
* 網路已經連接,然後去判斷是wifi連接還是GPRS連接
* 設置一些自己的邏輯調用
*/
private void isNetworkAvailable(){

State gprs = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
if(gprs == State.CONNECTED || gprs == State.CONNECTING){
Toast.makeText(this, "wifi is open! gprs", Toast.LENGTH_SHORT).show();
}
//判斷為wifi狀態下才載入廣告,如果是GPRS手機網路則不載入!
if(wifi == State.CONNECTED || wifi == State.CONNECTING){
Toast.makeText(this, "wifi is open! wifi", Toast.LENGTH_SHORT).show();
loadAdmob();
}

}

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

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

E. 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();
}

F. android怎麼判斷是否聯網

面返false表示網路通 // 檢測網路 public static boolean checkNetworkAvailable(Context context) { ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity == null) { return false; } else { NetworkInfo[] info = connectivity.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { NetworkInfo netWorkInfo = info[i]; if (netWorkInfo.getType() == ConnectivityManager.TYPE_WIFI) { return true; } else if (netWorkInfo.getType() == ConnectivityManager.TYPE_MOBILE) { return true; } } } } } return false; }

G. android 怎麼判斷網路狀態

獲取android系統的連接服務可判斷網路連接狀態,代碼如下
public class NetUtils{
public static boolean isNetworkConnected(Context context){
ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] infos = cm.getAllNetworkInfo();
for(NetworkInfo info:infos){
if(info.isAvailable()&&info.isConnected()){
return true;
}
}
return false;
}
}

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

H. 如何檢查Android中的WiFi網路是否連接成功

安卓手機連上wifi後查看連接埠的方法為:1、ROOT手機,具體步驟為:a、將手機連接到WIFI或者使用蜂窩數據網路。b、在手機上下載並安裝超級ROOT。c、點擊ROOT開始操作按鈕。d、依據提示完成重啟即可。2、然後下載RE管理器。獲取許可權後,在根目錄下進入data這個文件夾,往下拉,進入misc文件夾,然後再往下拉會看見一個叫wifi的文件夾,點擊進入,最後一個文件就是。

I. Android關於判斷應用是否有網路

應用場景:實現判斷當前網路是否可用

當前有可用網路,如下圖:

J. android 怎麼判斷當前網路連接是否可以連接到外網

Android里判斷是否可以上網,常用的是如下方法:

/**
* 檢測網路是否連接
*
* @return
*/
private boolean isNetworkAvailable() {
// 得到網路連接信息
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
// 去進行判斷網路是否連接
if (manager.getActiveNetworkInfo() != null) {
return manager.getActiveNetworkInfo().isAvailable();
}
return false;
}

有時候我們連接上一個沒有外網連接的WiFi或者有線就會出現這種極端的情況,目前Android SDK還不能識別這種情況,一般的解決辦法就是ping一個外網。

/* @author suncat
* @category 判斷是否有外網連接(普通方法不能判斷外網的網路是否連接,比如連接上區域網)
* @return
*/
public static final boolean ping() {

String result = null;
try {
String ip = "www..com";// ping 的地址,可以換成任何一種可靠的外網
Process p = Runtime.getRuntime().exec("ping -c 3 -w 100 " + ip);// ping網址3次
// 讀取ping的內容,可以不加
InputStream input = p.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(input));
StringBuffer stringBuffer = new StringBuffer();
String content = "";
while ((content = in.readLine()) != null) {
stringBuffer.append(content);
}
Log.d("------ping-----", "result content : " + stringBuffer.toString());
// ping的狀態
int status = p.waitFor();
if (status == 0) {
result = "success";
return true;
} else {
result = "failed";
}
} catch (IOException e) {
result = "IOException";
} catch (InterruptedException e) {
result = "InterruptedException";
} finally {
Log.d("----result---", "result = " + result);
}
return false;
}

閱讀全文

與android判斷網路是否連接相關的資料

熱點內容
電腦上怎麼看網路丟包網路延時 瀏覽:719
中信中國移動網路機頂盒怎麼刷機 瀏覽:884
如何借力網路電影 瀏覽:394
為什麼王者榮耀網路延遲很長 瀏覽:137
聯通家庭網路共享設置 瀏覽:742
網路seo要多少錢 瀏覽:184
哪裡投訴網路差地方 瀏覽:291
提供網路靈敏度在哪裡找 瀏覽:216
巨人網路每股凈資產多少錢 瀏覽:295
辦理寬頻無線網路一般多少錢 瀏覽:929
全國網路歌手分布哪個省居多 瀏覽:648
網路電視插電腦上沒有信號 瀏覽:790
長沙網路技術學校哪個好 瀏覽:135
蘋果卡沒網路怎麼辦 瀏覽:191
網路周遊是什麼 瀏覽:402
筆記本搜不到自家無線網路怎麼辦 瀏覽:937
計算機網路層次的傳輸 瀏覽:435
小米盒子增強版怎麼連接網路 瀏覽:220
中廣網路哪裡有 瀏覽:1000
計算機網路最早出現在哪呢 瀏覽:757

友情鏈接