目前这是我获取HTML代码内容的代码(请注意,它从第45行开始):
public String refresh() {
try {
String link = "http://amethystmc.com/staff/android/serverStatus_essential.php?auth=android420";
URL url = new URL(link);
URLConnection c = url.openConnection();
InputStream r = c.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(r));
StringBuilder sb = new StringBuilder();
String line = null;
// Read Server Response
while ((line = reader.readLine()) != null) {
sb.append(line);
break;
}
return sb.toString();
} catch (Exception ex) {
String stacktrace = "";
for (StackTraceElement string : ex.getStackTrace()) {
stacktrace += string + "\n";
}
Log.e("internet died", stacktrace);
return new String("Exception: " + stacktrace);
}
}
这是在控制台中抛出的错误:
06-13 17:45:51.980 19907-19907/? E/internet died. android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1166)
java.net.InetAddress.lookupHostByName(InetAddress.java:385)
java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
java.net.InetAddress.getAllByName(InetAddress.java:214)
com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:28)
com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216)
com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122)
com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:292)
com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:179)
me.lukewizzy.servers.MainActivity.refresh(MainActivity.java:51)
me.lukewizzy.servers.MainActivity.onCreate(MainActivity.java:25)
android.app.Activity.performCreate(Activity.java:5458)
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2376)
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2470)
android.app.ActivityThread.access$900(ActivityThread.java:174)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1307)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:146)
android.app.ActivityThread.main(ActivityThread.java:5593)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:515)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
dalvik.system.NativeStart.main(Native Method)
这是清单的内容:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="me.lukewizzy.servers.MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
经过研究后,我很确定我已经给予了正确的权限,所以我不知道我哪里出错了。我非常感谢任何可以提供帮助的人。