几年前,我在Android Studio中编写了一个代码,以通过wi-fi与嵌入式设备进行通信。直到Android 6为止,该代码在所有android设备上都运行良好,但是在装有Android 7或更高版本的设备上,似乎没有通过wi-fi发送数据。
我正在发布代码的简化部分。在“ onClickSend”中,当按下相应的按钮时,应用程序应发送2个字节。套接字在类“ ClientThread”中创建。 “ onClickSend”和“ ClientThread”都位于MainActivity内部。像这样在“ onCreate(Bundle savedInstanceState)”中初始化“ ClientThread”
new Thread(new ClientThread()).start();
在Manifest.xml内部,我具有以下权限:
android:name="android.permission.INTERNET"
android:name="android.permission.ACCESS_NETWORK_STATE"
public void onClickSend(View view){
try {
OutputStream out = mySocket.getOutputStream();
out.write(byte1);
out.write(byte2);
out.flush();
}
catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}
class ClientThread implements Runnable {
@Override
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName(ip_address);
mySocket = new Socket(serverAddr, port);
} catch (UnknownHostException e) {
} catch (IOException e) {
}
}
}
您的评论可以帮助我了解问题所在。谢谢。