※ 本文為 ott 轉寄自 ptt.cc 更新時間: 2015-02-04 11:29:07
看板 AndroidDev
作者 標題 [問題] Wifi連線能力問題請益
時間 Wed Feb 4 09:36:43 2015
各位大大好 小弟最近再做有關android wifi相關的程式部份 爬了很多文
目前作到利用BroadcastReceiver偵測wifi狀態開關 但是遇到另外一種狀況
APP功能:
要從網路下載檔案 必須能偵測連線狀態 斷線時關閉下載 連線恢復後自動重啟下載
狀況:
用A手機當AP(開3G,開熱點名稱GGG),用B平板載入APP wifi選擇GGG
我操作A手機 開啟/關閉熱點 B平板都可以偵測到 關閉下載重啟下載
但是情況2 我熱點持續開著 關閉3G開啟3G 於B平板來說他都是有連線的狀態
可是實際上卻沒有出去連線的能力
我想要針對這種情況做偵測 但是都失敗了 也爬了很多文 但是都是針對wifi的連線
沒有對連線能力的解法
-------
以下是我針對wifi偵測部份的code
onCreat() {
..
mConnectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
mNetworkChangedReceiver = new ConnectivityChangedReceiver();
registerReceiver(mNetworkChangedReceiver,
new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
..
}
..
public boolean isNetworkConnected() {
NetworkInfo info = mConnectivityManager.getActiveNetworkInfo();
boolean connected = info != null && info.isConnected();
return connected;
}
..
private class ConnectivityChangedReceiver extends BroadcastReceiver {
public ConnectivityChangedReceiver() {
//do something
}
@Override
public void onReceive(Context context, Intent intent) {
//do something
}
}
---------
下面這些function都嘗試過 但是會認定正常連線 無法利用判斷
info.getTypeName(); // 目前以何種方式連線 [WIFI]
info.getState(); // 目前連線狀態 [CONNECTED]
info.isAvailable(); // 目前網路是否可使用 [true]
info.isConnected(); // 網路是否已連接 [true]
info.isConnectedOrConnecting(); // 網路是否已連接 或 連線中 [true]
info.isFailover(); // 網路目前是否有問題 [false]
也嘗試了蠻多ConnectivityManager和WifiManager的Intent但是都沒反應
想問大大們 是否有針對同樣情況做過處理 是否有哪個Intent或function關鍵字
是針對這種情況做處理的 請求大大們分享了 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.146.195.238
※ 文章代碼(AID): #1KqNUlbr (AndroidDev)
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1423013807.A.975.html
→ : 你是說他有wifi,但是那個wifi沒連internet?1F 02/04 09:53
→ : 1.ping 2.follow systemUI 3.set connect timeout2F 02/04 09:56
→ : s大 是的3F 02/04 11:20
--
※ 看板: ott 文章推薦值: 0 目前人氣: 0 累積人氣: 406
回列表(←)
分享