You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安卓集成Volley1.1.1点击注册触发com.android.volley.clientError错误求助

错误原因

    1. 传参方法拼写错误:你代码中重写的参数传递方法名为getParms(),而Volley要求的正确方法名是getParams(),拼写错误导致方法未被系统调用,POST请求没有携带email和password参数,后端收不到必填参数返回400类客户端错误,这是最核心的错误原因。
    1. 明文请求限制:Android 9及以上系统默认禁止HTTP明文请求,你使用的http://10.0.2.2属于明文请求地址,未配置对应权限的话也会触发请求异常。
    1. 后端适配问题:可能存在后端服务未启动、接口不支持POST请求、接口接收参数名和你传递的不匹配等问题。

解决方案

    1. 修正传参方法拼写
      将你代码中匿名类内部的传参方法修改为正确写法,添加@Override注解避免后续拼写错误:
@Override
protected Map<String, String> getParams() throws AuthFailureError {
    Map<String, String> params = new HashMap<>();
    params.put("email", email);
    params.put("password", password);
    return params;
}
    1. 配置HTTP明文访问权限
      在res/xml目录下新建network_security_config.xml文件,填入以下内容:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">10.0.2.2</domain>
    </domain-config>
</network-security-config>

之后在AndroidManifest.xml的<application>标签中添加配置,引用上述网络安全规则:

<application
    ...
    android:networkSecurityConfig="@xml/network_security_config"
    ...>
    1. 验证后端接口可用性
      先确认本地PHP服务正常启动,再用Postman等工具模拟POST请求调用http://10.0.2.2/login/login.php,传入email和password参数,确认接口本身可以正常返回结果,排除后端问题。

内容的提问来源于stack exchange,提问作者Adel Rawass

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 10:39:03