我正在开发一个通过UDP套接字定期发送数据的应用程序。目前,我的代码运行良好,直到我尝试使用Android测试应用程序。
我使用的代码是:
m_outputSocket.writeDatagram (data, QHostAddress (robotAddress()), m_outputPort);
我已在AndroidManifest.xml文件中相应地设置了以下权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
更新,我还添加了INTERNET权限,但仍然无效
<uses-permission android:name="android.permission.INTERNET"/>
在Android上运行,我的应用程序无法通过UDP套接字发送和接收数据。作为旁注,writeDatargram
函数返回-1(表示根据Qt's documentation的错误)。
备注:
writeDatagram
函数返回-1 使用Qt在Android上运行UDP是否可以做任何事情?
答案 0 :(得分:0)
您也应该添加INTERNET权限。此权限允许应用程序打开网络套接字。
<uses-permission android:name="android.permission.INTERNET"/>