android 9+;上的按钮操作不正常;,但对4-8有效
我的应用程序在安卓4上运行,我假设通过这种方式生成它,它将在安卓9、10等上正常运行 但是,当在使用安卓9的设备上输入应用程序时,它们无法正确注册或登录,因为android 9+;上的按钮操作不正常;,但对4-8有效,android,authentication,registration,android-9.0-pie,Android,Authentication,Registration,Android 9.0 Pie,我的应用程序在安卓4上运行,我假设通过这种方式生成它,它将在安卓9、10等上正常运行 但是,当在使用安卓9的设备上输入应用程序时,它们无法正确注册或登录,因为按钮没有响应。然而,在其他版本的安卓系统中,它们工作得非常完美 public class LoginRequestion extends StringRequest { private static final String LOGIN_REQUEST_URL="http://...Login.php"; private
按钮没有响应。然而,在其他版本的安卓系统中,它们工作得非常完美
public class LoginRequestion extends StringRequest {
private static final String LOGIN_REQUEST_URL="http://...Login.php";
private Map<String, String> params;
public LoginRequestion(String usuario, String contrasena, Response.Listener<String> listener) {
super(Request.Method.POST, LOGIN_REQUEST_URL, listener, null);
params = new HashMap<>();
params.put("usuario", usuario);
params.put("contrasena", contrasena);
}
@Override
public Map<String, String> getParams() {
return params;
}
}
公共类登录问题扩展了StringRequest{
私有静态最终字符串登录\u请求\u URL=”http://...Login.php";
私有映射参数;
公共登录问题(字符串usuario、字符串contrasena、Response.Listener){
super(Request.Method.POST,LOGIN\u Request\u URL,listener,null);
params=新的HashMap();
参数put(“usuario”,usuario);
参数put(“contrasena”,contrasena);
}
@凌驾
公共映射getParams(){
返回参数;
}
}
安卓9以上
- 备选案文1:
- 创建一个文件network\u security\u config,res/xml/network\u security\u config
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">your_domain.com</domain>
</domain-config>
</network-security-config>
your_domain.com
- 在AndroidManifest中:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
<application
android:usesCleartextTraffic="true"
$usuario=$_POST[“usuario”];
$contrasena=$_POST[“contrasena”]
mysqli_stmt_store_结果($statement);
mysqli_stmt_bind_result($statement、$userID、$nombre、$email、$usuario、$contrasena)
由于按钮没有响应,您是指按钮的大小吗?您使用的是http,这是不允许的。您应该在manifestHi中使用https或设置networkSecurityConfig,非常感谢您的回复。Android 9(foot)不允许http连接?。在任何其他版本的安卓系统中,我的应用程序都运行得很好。我不知道如何实施你告诉我的改变。但是如果我使用http,我的文件Login.php在哪里?再次感谢您的回复,我正在实现您在更新中告诉我的内容。一个巨大的雨果,它是一个充满活力的世界SHello,用你告诉我的配置更新我的应用程序,但它仍然不能在android v9(foot)上正常工作。我的问题是什么在android v9上不起作用
$con = mysqli_connect("localhost", "xxxxx", "xxxxx", "xxxxx");
$statement = mysqli_prepare($con, "SELECT * FROM usuarios WHERE usuario = ? AND contrasena = ?");
mysqli_stmt_bind_param($statement, "ss", $usuario, $contrasena);
mysqli_stmt_execute($statement);
$response = array();
$response["success"] = false;
while(mysqli_stmt_fetch($statement)){
$response["success"] = true;
$response["nombre"] = $nombre;
$response["email"] = $email;
$response["usuario"] = $usuario;
$response["contrasena"] = $contrasena;
}
echo json_encode($response);