没有互联网连接时崩溃

opc*_*0de 0 connection android

没有interenet连接时,以下代码崩溃:

    public String gourl(String myurl,String params) {

        URL url;
        String rasp = "";

        try {
            url = new URL(myurl + params);
            BufferedReader rd = new BufferedReader(new InputStreamReader(
                    url.openStream()));
            String line = "";
            while ((line = rd.readLine()) != null) {
                rasp=rasp + line;
            }

            return rasp;
        } catch (Exception e) {
            Log.w("DHA", "EXCEPTIE URL");
        }       
        return null;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能防止这种情况发生?

Vya*_*kin 6

在执行方法之前检查连接,类似于:

    public boolean isNetworkConnected() {
         final ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
         final NetworkInfo activeNetwork = conMgr.getActiveNetworkInfo();
         return activeNetwork != null && activeNetwork.getState() == NetworkInfo.State.CONNECTED;
    }
Run Code Online (Sandbox Code Playgroud)

  • 我用这种方法 - 从来没有遇到过问题.检查权限<uses-permission android:name ="android.permission.ACCESS_NETWORK_STATE"/>和<uses-permission android:name ="android.permission.INTERNET"/>.并请显示logcat. (3认同)