我使用此StackOverflow帖子中的 gar的答案来检查互联网连接的可用性.但是,我不确定它是否正常工作.如果我关闭WiFi和移动数据连接并运行应用程序,NetworkInfo.isConnected()则在没有可用的Internet连接时返回true.
怎么了?如果我打开飞机模式,它会正确地说没有连接.
我想知道下面的方法是否检查我是否都连接到网络,并且实际上也可以连接到互联网.
不只是连接到不允许我访问互联网的网络?
public boolean isNetworkAvailable() {
    ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = manager.getActiveNetworkInfo();
    boolean isAvailable = false;
    if (networkInfo != null && networkInfo.isConnected()) {
        isAvailable = true;
    }
    return isAvailable;
}
我想,确实如此,但我不是百分百肯定.
谢谢
我知道这个问题已经被问了几次,例如在这里和这里,但我真的还没有做类似的东西得到想要的结果这个用于网络连接时检查
当我连接到当前没有互联网连接的Wi-Fi路由器时,来自网络信息的isAvailable()和isConnected()方法都会给出布尔值的结果.
是否确保电话/应用程序实际连接到互联网的唯一方法是实际轮询/ ping资源以检查连接或在尝试发出请求时处理异常?
我正在开发一个应用程序,在启用下载之前检查连接是否可靠(基本上连接应该是基础设施wifi而不是数据包)但是如果用户要么
然后在桌面上连接并开始下载,它仍然是不受欢迎的.有没有办法检测某些wifi连接是否实际上不是来自ad hoc或使用手机的WAP?
我有一个问题android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET。根据JavaDocs的说法,“表明该网络应该能够访问Internet”。
不幸的是,这似乎无法正常工作-否则我在这里做错了。我输出了三种不同Wi-Fi网络的功能价值:
带有互联网访问的Wi-Fi。
没有互联网的Wi-Fi(我在此处手动禁用了互联网)。
公共热点(“ Telekom”热点)
在这三种情况下,功能值均为[ Transports: WIFI Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN LinkUpBandwidth>=1048576Kbps LinkDnBandwidth>=1048576Kbps]。
这是我的代码:
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkCapabilities capabilities = connectivityManager.getNetworkCapabilities(network);
boolean capability = capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET
true当与某些Wi-Fi连接时,布尔值始终为。
如果相关,则我测试过的设备正在Android 5.0.1(API 21)下运行。我将应用程序编译为API级别23。
我正在使用媒体播放器和流媒体音频,我想知道如果互联网或信号发生故障并且无法再传输音频,最好的方法是抓住一个激励.
下面是我到目前为止所做的代码,因为你可以看到我抛出所有的相同消息的重复.
private class taskDoSomething extends AsyncTask<Void, Void, List<Employee>> 
{ 
    @Override 
    protected List<Employee> doInBackground(Void... params) 
    { 
    String url = "http://ofertaweb.ro/android/sleepandlovemusic/list_files.php";
    try {
        Get_Webpage obj = new Get_Webpage(url);
        directory_listings = obj.get_webpage_source();
    } catch (Exception e) {
         Toast.makeText(this, "You have to be connected to the internet for this application to work", Toast.LENGTH_LONG).show();
       finish();
    }
}
我想知道如何在发送数据之前验证 Android中的网络连接?谁能帮我 ?我尝试这个代码,但没有结果
public boolean isConnectingToInternet() {
    ConnectivityManager connectivity = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
    if (connectivity != null) 
    {
        NetworkInfo[] info = connectivity.getAllNetworkInfo();
        if (info != null)
        { 
           for (int i = 0; i < info.length; i++) 
           {
               if (info[i].getState() == NetworkInfo.State.CONNECTED)
               {
                   return true;
               }
           }
        }
    }
    return false;
}
美好的一天,我有一个应用程序有2个活动:主页和详细信息页面.
当有互联网连接时,用户可以从主页面导航到详细信息页面.没有互联网连接,他不能这样做.
问题是:当我在详细信息页面并关闭wifi时,我想完成此活动,我该如何实现此功能?我检查了主要的活动类是这样的:
Run Code Online (Sandbox Code Playgroud)private boolean isNetworkAvailable() { ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return activeNetworkInfo != null && activeNetworkInfo.isConnected(); }
当我用互联网启动应用程序或没有它时,它的工作正常,但是当我在运行时关闭wifi时,它不起作用.
无论如何,谢谢!
我正在研究一个需要测试Android和移动网络功能的项目.其中一个是检查互联网连接的可靠性,我应首先检查互联网连接,然后检查可靠性
是否有任何算法或库来找出Internet连接的可靠性
我正在开发基于互联网的应用程序,所以我需要监控Internet连接.链接
我在创建mainActivity时使用了这段代码来检查我的互联网连接是否正常.
public boolean isOnline() 
{  
ConnectivityManager cm = (ConnectivityManager) 
getSystemService(Context.CONNECTIVITY_SERVICE);  return 
cm.getActiveNetworkInfo().isConnectedOrConnecting();
}
但我需要通过应用程序完成此监控.我应该在哪里使用它?需要任何AsyncTask吗?