gpt4 book ai didi

android - 果冻 bean 中的 NetworkOnMainThreadException 错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:05:34 25 4
gpt4 key购买 nike

<分区>

我在过去一周左右的时间里一直在努力让它工作,但仍然不知道问题出在哪里。它适用于 android 2.1 但不适用于 4.1。我在检查我的应用程序更新的服务中得到了这个字符串。

latestVersion = Integer.parseInt(getHttpString(urlLatestVersion));

它在 checkForUpdate() 中被调用;在 onStart(Intent intent, int startId); 中调用。

private String getHttpString(String urlString) throws IOException {
InputStream in = null;
int response = -1;

URL url = new URL(urlString);
URLConnection conn = url.openConnection();

if (!(conn instanceof HttpURLConnection))
throw new IOException("Not an HTTP connection");

try {
HttpURLConnection httpConn = (HttpURLConnection) conn;
httpConn.setAllowUserInteraction(false);
httpConn.setInstanceFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.connect();

response = httpConn.getResponseCode();
if (response == HttpURLConnection.HTTP_OK) {
in = httpConn.getInputStream();
}
} catch (Exception ex) {
ex.printStackTrace();
//
//main error currently lies here
// TODO fix errors that accures on android 4.0 and above.
//
}
if (in != null) {
StringBuilder sb = new StringBuilder();
String line;

try {
BufferedReader reader = new BufferedReader(
new InputStreamReader(in, "UTF-8"));
while ((line = reader.readLine()) != null) {
sb.append(line); // .append("\n");
}
} finally {
in.close();
}
return sb.toString();
} else
return "";

}

这是来自 logcat 的错误

W/System.err( 7077): android.os.NetworkOnMainThreadException
W/System.err( 7077): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
W/System.err( 7077): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
W/System.err( 7077): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
W/System.err( 7077): at java.net.InetAddress.getAllByName(InetAddress.java:214)
W/System.err( 7077): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
W/System.err( 7077): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
W/System.err( 7077): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:341)
W/System.err( 7077): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
W/System.err( 7077): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
W/System.err( 7077): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:315)
W/System.err( 7077): at libcore.net.http.HttpEngine.connect(HttpEngine.java:310)
W/System.err( 7077): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:289)
W/System.err( 7077): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:239)
W/System.err( 7077): at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
W/System.err( 7077): at com.lukemovement.roottoolbox.pro.Update.getHttpString(Update.java:166)
W/System.err( 7077): at com.lukemovement.roottoolbox.pro.Update.checkForUpdate(Update.java:98)
W/System.err( 7077): at com.lukemovement.roottoolbox.pro.Update.onStart(Update.java:75)
W/System.err( 7077): at android.app.Service.onStartCommand(Service.java:450)
W/System.err( 7077): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2620)
W/System.err( 7077): at android.app.ActivityThread.access$1900(ActivityThread.java:143)
W/System.err( 7077): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1306)
W/System.err( 7077): at android.os.Handler.dispatchMessage(Handler.java:99)
W/System.err( 7077): at android.os.Looper.loop(Looper.java:137)
W/System.err( 7077): at android.app.ActivityThread.main(ActivityThread.java:4935)
W/System.err( 7077): at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err( 7077): at java.lang.reflect.Method.invoke(Method.java:511)
W/System.err( 7077): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
W/System.err( 7077): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
W/System.err( 7077): at dalvik.system.NativeStart.main(Native Method)
I/Example update( 7077): Invalid int: ""

那么 android 是放弃了向后兼容还是只是忘记添加这个位?

我读过我需要使用 AsyncTask。但我似乎无法让它为我工作,有人可以帮我解决这个问题吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com