0

我有这个 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 在其主线程中阻止了任何网络代码,那么解决方案是什么?

4

1 回答 1

0

尝试将此添加到您的 onCreate 方法中:

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy); 

并且不要忘记您的 AndroidManifest 文件中的互联网权限!

<uses-permission android:name="android.permission.INTERNET"/>
于 2013-12-31T17:55:07.387 回答