Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 没有internet连接时崩溃_Android_Connection - Fatal编程技术网

Android 没有internet连接时崩溃

Android 没有internet连接时崩溃,android,connection,Android,Connection,没有interenet连接时,以下代码崩溃: public String gourl(String myurl,String params) { URL url; String rasp = ""; try { url = new URL(myurl + params); BufferedReader rd = new BufferedReader(new InputStreamReade

没有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;
}

如何防止这种情况发生?

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

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

您是否检查了方法中myurl和params的值

可能是url.openStream失败并导致NullPointerException

这样做也很有帮助,比如:

Log.w("DHA", "EXCEPTIE URL:" + e.toString());

然后您将看到异常情况,而不必猜测。

检查所有Internet连接

无线上网

对于其他网络

如果其中任何一个存在,则处理WS-else显示警报。并且永远不要忘记提及

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

当我写信时,你同时接受了我的回答如果我两次调用它,应用程序就会崩溃,我会使用这种方法——从来没有遇到过问题。检查权限和权限。请出示logcat。
    public  boolean isOline(Context context){
    try{
        ConnectivityManager cm=(ConnectivityManager) 

   context.getSystemService(Context.CONNECTIVITY_SERVICE);
        if(cm==null)
            return false;
        NetworkInfo info=cm.getActiveNetworkInfo();
        if(info==null)
            return false;
        return info.isConnectedOrConnecting();
    }
    catch(Exception e){
        e.getMessage();
        return false;
    }
}  
    <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>