Android数据检测,android – 如何检查移动数据是否实际处于...

这段代码旨在确认设备是否真正通过WiFi或移动数据进行网络连接,而不仅仅是它们是否启用。然而,当前的实现只能检查网络接口是否激活,不能确保实际的数据交换。问题在于需要区分已启用的网络接口与已建立的连接,以确保可以进行数据通信。
摘要由CSDN通过智能技术生成

我正在尝试检查是否存在互联网连接或设备是否实际连接到wifi.

注意:我不是想看看是否有互联网连接或只是连接了wifi.我想检查设备是否实际接收和发送数据包.

此代码段实际上会检查是否存在移动数据连接,或者是否启用了wifi但是没有说明连接是否已实际建立.

public boolean isNetworkConnected(Context context) {

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo ni = cm.getActiveNetworkInfo();

if (ni == null) {

// There are no active networks.

Toast.makeText(context, "No Network", Toast.LENGTH_LONG).show();

return false;

} else

return true;

要么

boolean isConnected = ni != null && ni.isConnectedOrConnecting();

if(isConnected){

return true;

}

else{

Toast.makeText(context, "No Network", Toast.LENGTH_LONG).show();

return false;

}

}

要么

public boolean haveNetworkConnection(Context context) {

boolean haveConnectedWifi = false;

boolean haveConnectedMobile = false;

ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo[] netInfo = cm.getAllNetworkInfo();

for (NetworkInfo ni : netInfo) {

if (ni.getTypeName().equalsIgnoreCase("WIFI"))

if (ni.isConnected())

haveConnectedWifi = true;

if (ni.getTypeName().equalsIgnoreCase("MOBILE"))

if (ni.isConnected())

haveConnectedMobile = true;

}

return haveConnectedWifi || haveConnectedMobile;

}

以上所有代码片段仅检查是否启用了wifi或数据.它不显示连接是否已建立.如果启用了wifi或数据,它将始终返回true.

同样,我的目标是检查是否检查连接是否已建立.

任何帮助都会非常有用..提前谢谢.. ?

这个问题已得到解答.再次感谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值