當前位置:首頁 » 安卓系統 » android連接狀態

android連接狀態

發布時間: 2022-07-20 22:54:01

1. Android如何獲取網路連接狀態及怎樣調用網路配置界面

1. Android獲取網路連接狀態的代碼如下:
public boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}

2.轉跳到網路設置界面:
Intent wifiSettingsIntent = new Intent("android.settings.WIFI_SETTINGS");
startActivity(wifiSettingsIntent);

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

3. Android怎麼檢測藍牙的連接狀態如果一段斷開,我這邊怎麼檢測得到

按照藍牙規范,一旦超時連接斷開,會返回上層Disconnect complete Event with reason code: supervision timeout.可以根據該原因碼,檢測連接狀態,具體方法為:
1、BluetoothAdapter 顧名思義,藍牙適配器,直到建立bluetoothSocket連接之前,都要不斷操作它BluetoothAdapter里的方法很多,常用的有以下幾個:cancelDiscovery() 根據字面意思,是取消發現,也就是說當正在搜索設備的時候調用這個方法將不再繼續搜索disable()關閉藍牙enable()打開藍牙,這個方法打開藍牙不會彈出提示,更多的時候需要問下用戶是否打開,一下這兩行代碼同樣是打開藍牙,不過會提示用戶:Intemtenabler=newIntent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enabler,reCode);//同startActivity(enabler);

getAddress()獲取本地藍牙地址getDefaultAdapter()獲取默認BluetoothAdapter,實際上,也只有這一種方法獲取BluetoothAdaptergetName()獲取本地藍牙名稱。
2、getRemoteDevice(String address)根據藍牙地址獲取遠程藍牙設備getState()獲取本地藍牙適配器當前狀態(感覺可能調試的時候更需要)isDiscovering()判斷當前是否正在查找設備,是返回true***isEnabled()判斷藍牙是否打開,已打開返回true,否則,返回false***(String name,UUID uuid)根據名稱,UUID創建並返回BluetoothServerSocket,這是創建BluetoothSocket伺服器端的第一步startDiscovery()開始搜索,這是搜索的第一步2.BluetoothDevice看名字就知道,這個類描述了一個藍牙設備(UUIDuuid)根據UUID創建並返回一個BluetoothSocket這個方法也是我們獲取BluetoothDevice的目的——創建BluetoothSocket

這個類其他的方法,如getAddress(),getName(),同BluetoothAdapter。

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

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

java">publicclassNetUtils{
(Contextcontext){
=(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

5. android 怎麼判斷藍牙連接狀態

在設置——藍牙里,在顯示的藍牙列表裡有已連接或者斷開狀態

6. android藍牙連接成功後沒有返回狀態

沒有返回狀態說明連接成功。
也就是說鏈路層的數據只存在發送成功(可能經過重發N次後成功),或者連接斷開,不存在失敗的可能性,也就無所謂返回狀態的區別。
onCharacteristicWrite返回的status狀態看一下API就知道了,都是GATT開頭的各種常量,也就是說從設備一定是接收到了數據,但是數據從鏈路層轉發到GATT層的過程中可能存在各種異常情況,導致返回錯誤。需要注意的是應用層無法決定這個返回狀態,比如說如果從設備的應用層接收到數據後發現不符合自己定義的介面數據協議規范,那麼也只能通過另外發起notify來通知主設備,而無法通過status來返回錯誤類型。

7. android 怎麼監控網路狀態可以訪問互聯網而不是連接狀態

在開發android應用時,涉及到要進行網路訪問,時常需要進行網路狀態的檢查,以提供給用戶必要的提醒。一般可以通過ConnectivityManager來完成該工作。
ConnectivityManager有四個主要任務:
1、監聽手機網路狀態(包括GPRS,WIFI, UMTS等)
2、手機狀態發生改變時,發送廣播
3、當一個網路連接失敗時進行故障切換
4、為應用程序提供可以獲取可用網路的高精度和粗糙的狀態
當我們要在程序中監聽網路狀態時,只要一下幾個步驟即可:
1、定義一個Receiver重載其中的onReceive函數,在其中完成所需要的功能,如根據WIFI和GPRS是否斷開來改變空間的外觀
復制代碼 代碼如下:

connectionReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectMgr = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo mobNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo wifiNetInfo = connectMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) {
Log.i(TAG, "unconnect");
// unconnect network
}else {
// connect network
}
}
};

2、在適當的地方注冊Receiver,可以在程序中注冊,在onCreate中調用如下函數即可:
復制代碼 代碼如下:

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(connectionReceiver, intentFilter);

3、在適當時取消注冊Receiver,可以在程序中取消,在onDestroye中調用如下函數即可:
復制代碼 代碼如下:

if (connectionReceiver != null) {
unregisterReceiver(connectionReceiver);
}

8. Android藍牙怎麼檢測連接狀態

首先,要操作藍牙,先要在AndroidManifest.xml里加入許可權

<uses-permissionandroid:name="android.permission.BLUETOOTH_ADMIN" />

<uses-permissionandroid:name="android.permission.BLUETOOTH" />

然後,看下api,Android所有關於藍牙開發的類都在android.bluetooth包下,如下圖,只有8個類

而我們需要用到了就只有幾個而已:

1.BluetoothAdapter 顧名思義,藍牙適配器,直到我們建立bluetoothSocket連接之前,都要不斷操作它BluetoothAdapter里的方法很多,常用的有以下幾個:cancelDiscovery() 根據字面意思,是取消發現,也就是說當我們正在搜索設備的時候調用這個方法將不再繼續搜索disable()關閉藍牙enable()打開藍牙,這個方法打開藍牙不會彈出提示,更多的時候我們需要問下用戶是否打開,一下這兩行代碼同樣是打開藍牙,不過會提示用戶:Intemtenabler=new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);

startActivityForResult(enabler,reCode);//同startActivity(enabler);

getAddress()獲取本地藍牙地址getDefaultAdapter()獲取默認BluetoothAdapter,實際上,也只有這一種方法獲取BluetoothAdaptergetName()獲取本地藍牙名稱getRemoteDevice(String address)根據藍牙地址獲取遠程藍牙設備getState()獲取本地藍牙適配器當前狀態(感覺可能調試的時候更需要)isDiscovering()判斷當前是否正在查找設備,是返回true***isEnabled()判斷藍牙是否打開,已打開返回true,否則,返回false***(String name,UUID uuid)根據名稱,UUID創建並返回BluetoothServerSocket,這是創建BluetoothSocket伺服器端的第一步startDiscovery()開始搜索,這是搜索的第一步2.BluetoothDevice看名字就知道,這個類描述了一個藍牙設備(UUIDuuid)根據UUID創建並返回一個BluetoothSocket這個方法也是我們獲取BluetoothDevice的目的——創建BluetoothSocket

這個類其他的方法,如getAddress(),getName(),同BluetoothAdapter

3.BluetoothServerSocket如果去除了Bluetooth相信大家一定再熟悉不過了,既然是Socket,方法就應該都差不多,這個類一種只有三個方法

兩個重載的accept(),accept(inttimeout)兩者的區別在於後面的方法指定了過時時間,需要注意的是,執行這兩個方法的時候,直到接收到了客戶端的請求(或是過期之後),都會阻塞線程,應該放在新線程里運行!

還有一點需要注意的是,這兩個方法都返回一個BluetoothSocket,最後的連接也是伺服器端與客戶端的兩個BluetoothSocket的連接

close()這個就不用說了吧,翻譯一下——關閉!4.BluetoothSocket,跟BluetoothServerSocket相對,是客戶端一共5個方法,不出意外,都會用到

close(),關閉connect()連接getInptuStream()獲取輸入流getOutputStream()獲取輸出流getRemoteDevice()獲取遠程設備,這里指的是獲取bluetoothSocket指定連接的那個遠程藍牙設備

9. 安卓app顯示無法連接網路解決方法介紹


1、重啟手機;
2、從屏幕頂端向下拖動(或從下向上拖動),確定「移動數據」為開啟狀態,「WLAN」為關閉狀態;
3、進入手機設置-連接-更多網路-移動網路-移動數據(開啟)-接入點名稱-菜單鍵-重置為默認值即可(cmnet接入點所產生的流量費是否包含在套餐中請以實際開通套餐為准);
4、設置後仍無法上網,建議換機換卡測試。
熱點內容
怎麼訪問暗網 發布:2025-01-23 07:02:04 瀏覽:665
無線配置代理選什麼 發布:2025-01-23 06:52:54 瀏覽:824
c程序匯編程序 發布:2025-01-23 06:49:42 瀏覽:840
cmd命令與linux命令 發布:2025-01-23 06:40:26 瀏覽:806
linux用戶目錄許可權 發布:2025-01-23 06:37:49 瀏覽:233
學計算機避免編程 發布:2025-01-23 06:29:09 瀏覽:661
易語言機器人源碼 發布:2025-01-23 06:24:03 瀏覽:320
匯編語言的編譯可以叫解釋嗎 發布:2025-01-23 06:23:22 瀏覽:35
tomcat編譯後的文件 發布:2025-01-23 06:05:46 瀏覽:254
惠普暢遊人14是什麼配置表 發布:2025-01-23 05:57:39 瀏覽:296