0

如何从连接类文件中调用连接检查方法?[安卓]

比如代码@连接类文件

public class ConnectivityMgr {
 /*
 *@return boolean return true if the application can access the internet
 */
 public static boolean isNetworkAvailable(Context context) {
     ConnectivityManager connectivity = (ConnectivityManager) context.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;
  }
}

我必须做什么才能从类中调用此方法,例如,如果它在名为 final.last.test 的包下

我是否必须导入类文件并声明或类似的东西,我尝试使用

if ( isNetworkAvailable(getApplicationContext()) == true ) {}

它给了我一个NullPointerException. 是“getApplicationContext()”的错误使用还是其他什么?

我尝试导入,声明 .. ,更改为 this.getApplicationContext() / this / getBaseContext() ,但它仍然不起作用。

还是需要“意图”?

我所做的是:

import final.last.test.ConnectivityMgr; 
ConnectivityMgr cm; 

try { 

if ( cm.isNetworkAvailable(getApplicationContext() ) 
{ //display yes } 

} Catch as (Exception e) 
{ Toast.makeText(getApplicationContext(), "Error with connectivity : " + e.getCause() + " , " + e.toString() , Toast.LENGTH_LONG).show(); 

// Log.d("Error With Connectivity : ","Failed to do something due to : " + e.getMessage()); 

-> 日志以前从未出现过,这就是为什么我用吐司代替。

-> Toast 显示“连接错误:null、java.lang、NullPointerException –</p>

4

2 回答 2

0
 public static boolean isNetworkAvailable(Context context) {
        boolean mBoolean = false;
        ConnectivityManager connectivity = (ConnectivityManager) context.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) {
                        mBoolean = true;
                    }
                }
            }
        }
        return mBoolean;
    }

然后

if ( isNetworkAvailable(getApplicationContext())) {}
于 2012-04-23T04:54:52.677 回答
0
        URL myurl = new URL(url);
        URLConnection connection = myurl.openConnection();
        connection.setConnectTimeout(20 * 1000);
        HttpURLConnection httpConnection = (HttpURLConnection) connection;
        int responseCode = httpConnection.getResponseCode();
        if (responseCode == HttpURLConnection.HTTP_OK)
        {
            httpConnection.disconnect();
            //......

        }
        else
        {
            httpConnection.disconnect();
            throw new Exception(
                    "Http Error code: " + String.valueOf(responseCode));
        }
于 2012-04-23T04:57:30.063 回答