作者COOLOD (看八卦 认真你就输了)
看板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
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1423013807.A.975.html
1F:→ ssccg: 你是说他有wifi,但是那个wifi没连internet? 02/04 09:53
2F:→ erttyy8821: 1.ping 2.follow systemUI 3.set connect timeout 02/04 09:56
3F:→ COOLOD: s大 是的 02/04 11:20
4F:→ COOLOD: e大的第2项 稍微有点不解 稍微爬一下文 是指判断StatusBar 02/04 11:31
5F:→ COOLOD: 去判断 是否连线正常吗? 情况对平板来说连线图示没有改变 02/04 11:34
6F:→ COOLOD: 感谢大大提供 我先针对1 3做尝试 02/04 11:34
7F:→ erttyy8821: 看起来没变不代表没变 02/04 14:05
8F:→ erttyy8821: 不过2.的做法算比较偷吃步 02/04 14:06
9F:→ erttyy8821: 遇到特殊的devices可能会有问题 02/04 14:06
10F:推 MrJerome: 照你的案例来看,建议不要从[连线状态]进行判断 02/04 19:24
11F:→ MrJerome: 改从判断[档案是否完成] 02/04 19:25