相同的HttpURLConnection在应用程序上运行但在Widget上失败并且出现FileNotFoundException

时间:2015-12-03 04:08:14

标签: android android-widget httpconnection

这就是我从我的应用程序连接到服务器的方式:

try {

            URL url;
            // get URL content
            url = new URL(apiURL);
            System.setProperty("http.keepAlive", "false");
            trustAllHosts();

            conn = (HttpsURLConnection) url.openConnection();
            conn.setRequestProperty("Connection", "close");

            conn.setHostnameVerifier(DO_NOT_VERIFY);
            conn.setRequestMethod("GET");

            conn.setRequestProperty(MainActivity.API_TOKEN, MainActivity.ENCRYPTED_TOKEN);

            conn.setConnectTimeout(15000);
            conn.setUseCaches(false);

            in=conn.getInputStream();

            // open the stream and put it into BufferedReader
            BufferedReader br = new BufferedReader(new InputStreamReader(in));

            while ((line=br.readLine())!= null) {
                builder.append(line);
            }

            result=builder.toString();

            br.close();


        } catch (MalformedURLException e) {
            result=null;
        } catch (java.net.SocketTimeoutException e) {
            result=null;
        } catch (IOException e) {
            result=null;
        } catch (Exception e) {
            result=null;
        }

当我从我的应用程序中使用它时,这就像一个魅力。但是,从小部件中使用它会被catch (IOException e)捕获并向我发送以下错误:FileNotFound。我的服务器实际上是将错误500返回给我,这意味着它遇到了问题。

使用asyncTask从小部件连接到服务器时是否有一些要求?我应该注意一些特殊的参数或设置吗?感谢。

0 个答案:

没有答案