我有这个JAVA代码
package com.log.app;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Adressage {
public static String GetMyAdress() {
InetAddress address;
String HostIP = null;
try {
address = InetAddress.getLocalHost();
HostIP = address.getHostAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
}
return HostIP;
}
}
我的Activity.java中有一个表,我将调用该类中的方法来显示我的设备的IP地址
tr.addView(generateTextView(Adressage.GetMyAdress(), layoutParams));
当我启动我的模拟器并转到此活动的视图时,应用程序停止并且我有此错误
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.log.app/com.log.app.SurActivity}: android.os.NetworkOnMainThreadException
我是ANDROID的新手,它看起来像android阻止其主线程中的任何网络代码,那么这个解决方案是什么?
答案 0 :(得分:0)
尝试将此添加到onCreate方法:
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
不要忘记AndroidManifest文件中的互联网权限!
<uses-permission android:name="android.permission.INTERNET"/>