React Native向IoT设备发送HTTP请求安卓端失败问题及解决
React Native安卓真机无法访问IoT接入点HTTP接口的解决方案
问题背景
React Native应用需向作为接入点的IoT设备发送HTTP GET请求,设备地址为http://192.23.77.7:80。测试情况如下:
- Bluestacks模拟器中请求正常
- 浏览器直接访问该URL正常
- 安卓真机发送请求时出现错误
当前已配置的安卓权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
请求代码(Axios实现):
async function getReq(e) { await axios .get('http://192.23.77.7/param/?param1=101') .then(res => { console.log(res); settext(res); }) .catch(err => { console.log(err); settext(err); }); }
已尝试的无效方案
- 切换使用Fetch或Axios发送请求
- 检查并配置APK网络权限
- 确认IoT设备IP地址无误
- 更换不同的安卓设备测试
有效解决方案
在项目的AndroidManifest.xml文件中,为<application>标签添加android:usesCleartextTraffic="true"属性:
<application android:usesCleartextTraffic="true" <!-- 保留原有其他属性 --> > <!-- 应用组件配置内容 --> </application>
内容的提问来源于stack exchange,提问作者Yaşar
相关产品推荐
相关产品推荐

