【问题标题】:How to check network availability on Honeycomb?如何检查 Honeycomb 上的网络可用性?
【发布时间】:2014-06-27 13:45:58
【问题描述】:

我正在尝试检查我的蜂窝应用程序上是否有可用的简单连接。我尝试了 2 个不同版本的函数:

    public boolean networkAvailable() {
     ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
     return cm.getActiveNetworkInfo().isConnectedOrConnecting();
    }

    private boolean networkAvailable(){
    ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = connectionManager.getActiveNetworkInfo();

    return activeNetwork != null;
}

不过,这些都不适用于我的 Honeycomb 平板电脑,无论我试图调用它们,它们都会崩溃。在 3.2 上是否有特定的方法可以做到这一点,或者......我错过了什么?

【问题讨论】:

    标签: android networking android-3.0-honeycomb


    【解决方案1】:

    这应该可行。您甚至可以区分可用的网络类型。确保您在清单中声明了以下权限。

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
    


    public void checkkStatus()
     {
     final ConnectivityManager connMgr = (ConnectivityManager)
     this.getSystemService(Context.CONNECTIVITY_SERVICE);
    
     final android.net.NetworkInfo wifi =
     connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    
     final android.net.NetworkInfo mobile =
     connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    
     if( wifi.isAvailable() ){
     Toast.makeText(this, "Wifi" , Toast.LENGTH_LONG).show();
     }
     else if( mobile.isAvailable() ){
     Toast.makeText(this, "Mobile 3G " , Toast.LENGTH_LONG).show();
     }
     else
     {Toast.makeText(this, "No Network " , Toast.LENGTH_LONG).show();}
     }
    

    【讨论】:

    • 是的,效果很好!感谢一百万花时间回答我!这是一段非常有用的代码,我正在保存到我的 sn-ps 中!
    【解决方案2】:

    试试这个:

       public boolean isOnline() {
             ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
             return cm.getActiveNetworkInfo().isConnectedOrConnecting();
       }
    

    【讨论】:

    • 同样的事情......我使用的是戴尔 Streak 7"。这可能是我的硬件所特有的......?
    猜你喜欢
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多